JTree now handles disconnected factor graphs
authorJoris Mooij <joris.mooij@tuebingen.mpg.de>
Sat, 17 Apr 2010 14:22:05 +0000 (16:22 +0200)
committerJoris Mooij <joris.mooij@tuebingen.mpg.de>
Sat, 17 Apr 2010 14:22:05 +0000 (16:22 +0200)
ChangeLog
include/dai/jtree.h
include/dai/lc.h
include/dai/mr.h
src/jtree.cpp
src/lc.cpp
src/mr.cpp
tests/testdai.cpp
tests/testfast.out

index 2825f55..ac5dda8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,10 @@ git master HEAD
 * [Stefano Pellegrini] Fixed bug in JTree::findMaximum()
 * Fixed some bugs in the MatLab interface build system
 * Fixed a bug in utils/fginfo.cpp
+* tests/testdai option "marginals" now has five possible values: NONE
+  outputs no marginals, VAR only variable marginals, FAC only factor
+  marginals, VARFAC both types of marginals, and ALL outputs all
+  marginals calculated by the algorithm.
 * Improved treeep.h/cpp:
   - changed TreeEP::construct( const RootedTree& ) into
     TreeEP::construct( const FactorGraph&, const RootedTree& )
@@ -14,6 +18,7 @@ git master HEAD
     JTree::construct( const FactorGraph&, const std::vector<VarSet>&, bool )
   - changed JTree::GenerateJT( const std::vector<VarSet> & )
     into JTree::GenerateJT( const FactorGraph &, const std::vector<VarSet> & )
+  - Now also supports disconnected factor graphs
 * Improved regiongraph.h/cpp:
   - Made (previously public) members RegionGraph::G, RegionGraph::ORs,
     RegionGraph::IRs and RegionGraph::fac2OR protected.
index 3c6d926..1693fa2 100644 (file)
@@ -110,10 +110,9 @@ class JTree : public DAIAlgRG {
         JTree() : DAIAlgRG(), _mes(), _logZ(), RTree(), Qa(), Qb(), props() {}
 
         /// Construct from FactorGraph \a fg and PropertySet \a opts
-        /** \param fg factor graph (which has to be connected);
+        /** \param fg factor graph
          ** \param opts Parameters @see Properties
          *  \param automatic if \c true, construct the junction tree automatically, using the heuristic in opts['heuristic'].
-         *  \throw FACTORGRAPH_NOT_CONNECTED if \a fg is not connected
          */
         JTree( const FactorGraph &fg, const PropertySet &opts, bool automatic=true );
     //@}
@@ -146,7 +145,8 @@ class JTree : public DAIAlgRG {
          *  Subsequently, a corresponding region graph is built:
          *    - the outer regions correspond with the cliques and have counting number 1;
          *    - the inner regions correspond with the seperators, i.e., the intersections of two 
-         *      cliques that are neighbors in the spanning tree, and have counting number -1;
+         *      cliques that are neighbors in the spanning tree, and have counting number -1
+         *      (except empty ones, which have counting number 0);
          *    - inner and outer regions are connected by an edge if the inner region is a
          *      seperator for the outer region.
          *  Finally, Beliefs are constructed.
index 180df48..04b2f1b 100644 (file)
@@ -110,7 +110,7 @@ class LC : public DAIAlgFG {
         virtual LC* clone() const { return new LC(*this); }
         virtual std::string identify() const;
         virtual Factor belief( const Var &v ) const { return beliefV( findVar( v ) ); }
-        virtual Factor belief( const VarSet &/*vs*/ ) const { DAI_THROW(NOT_IMPLEMENTED); return Factor(); }
+        virtual Factor belief( const VarSet &/*vs*/ ) const;
         virtual Factor beliefV( size_t i ) const { return _beliefs[i]; }
         virtual std::vector<Factor> beliefs() const { return _beliefs; }
         virtual Real logZ() const { DAI_THROW(NOT_IMPLEMENTED); return 0.0; }
index 1d8a1be..02daa7e 100644 (file)
@@ -120,7 +120,7 @@ class MR : public DAIAlgFG {
         virtual MR* clone() const { return new MR(*this); }
         virtual std::string identify() const;
         virtual Factor belief( const Var &v ) const { return beliefV( findVar( v ) ); }
-        virtual Factor belief( const VarSet &/*vs*/ ) const { DAI_THROW(NOT_IMPLEMENTED); return Factor(); }
+        virtual Factor belief( const VarSet &/*vs*/ ) const;
         virtual Factor beliefV( size_t i ) const;
         virtual std::vector<Factor> beliefs() const;
         virtual Real logZ() const { DAI_THROW(NOT_IMPLEMENTED); return 0.0; }
index 20c021f..f106e90 100644 (file)
@@ -66,9 +66,6 @@ string JTree::printProperties() const {
 JTree::JTree( const FactorGraph &fg, const PropertySet &opts, bool automatic ) : DAIAlgRG(), _mes(), _logZ(), RTree(), Qa(), Qb(), props() {
     setProperties( opts );
 
-    if( !fg.isConnected() )
-        DAI_THROW(FACTORGRAPH_NOT_CONNECTED);
-
     if( automatic ) {
         // Create ClusterGraph which contains factors as clusters
         vector<VarSet> cl;
@@ -120,12 +117,22 @@ void JTree::construct( const FactorGraph &fg, const std::vector<VarSet> &cl, boo
     // Construct a weighted graph (each edge is weighted with the cardinality
     // of the intersection of the nodes, where the nodes are the elements of cl).
     WeightedGraph<int> JuncGraph;
-    for( size_t i = 0; i < cl.size(); i++ )
-        for( size_t j = i+1; j < cl.size(); j++ ) {
+    std::vector<bool> connected( cl.size(), false );
+    for( size_t i = 0; i < cl.size(); i++ ) {
+        for( size_t j = i + 1; j < cl.size(); j++ ) {
             size_t w = (cl[i] & cl[j]).size();
-            if( w )
+            if( w ) {
                 JuncGraph[UEdge(i,j)] = w;
+                connected[i] = true;
+                connected[j] = true;
+            }
         }
+    }
+    // for clusters that have no overlap with other clusters,
+    // connect them with the zeroth cluster
+    for( size_t i = 1; i < cl.size(); i++ )
+        if( !connected[i] )
+            JuncGraph[UEdge(i,0)] = 0;
 
     // Construct maximal spanning tree using Prim's algorithm
     RTree = MaxSpanningTree( JuncGraph, true );
@@ -162,8 +169,9 @@ void JTree::construct( const FactorGraph &fg, const std::vector<VarSet> &cl, boo
     for( size_t i = 0; i < RTree.size(); i++ ) {
         edges.push_back( Edge( RTree[i].first, nrIRs() ) );
         edges.push_back( Edge( RTree[i].second, nrIRs() ) );
-        // inner clusters have counting number -1
-        _IRs.push_back( Region( cl[RTree[i].first] & cl[RTree[i].second], -1.0 ) );
+        // inner clusters have counting number -1, except if they are empty
+        VarSet intersection = cl[RTree[i].first] & cl[RTree[i].second];
+        _IRs.push_back( Region( intersection, intersection.size() ? -1.0 : 0.0 ) );
     }
 
     // create bipartite graph
index 0f71507..09034e9 100644 (file)
@@ -121,6 +121,18 @@ void LC::CalcBelief (size_t i) {
 }
 
 
+Factor LC::belief (const VarSet &ns) const {
+    if( ns.size() == 0 )
+        return Factor();
+    else if( ns.size() == 1 )
+        return beliefV( findVar( *(ns.begin()) ) );
+    else {
+        DAI_THROW(BELIEF_NOT_AVAILABLE);
+        return Factor();
+    }
+}
+
+
 Real LC::CalcCavityDist (size_t i, const std::string &name, const PropertySet &opts) {
     Factor Bi;
     Real maxdiff = 0;
index e780e26..e25599d 100644 (file)
@@ -389,6 +389,18 @@ Factor MR::beliefV( size_t i ) const {
         return Factor();
 }
 
+    
+Factor MR::belief (const VarSet &ns) const {
+    if( ns.size() == 0 )
+        return Factor();
+    else if( ns.size() == 1 )
+        return beliefV( findVar( *(ns.begin()) ) );
+    else {
+        DAI_THROW(BELIEF_NOT_AVAILABLE);
+        return Factor();
+    }
+}
+
 
 vector<Factor> MR::beliefs() const {
     vector<Factor> result;
index 64f936c..93416e0 100644 (file)
@@ -26,6 +26,16 @@ using namespace dai;
 namespace po = boost::program_options;
 
 
+std::vector<Real> calcDists( const vector<Factor> &x, const vector<Factor> &y ) {
+    vector<Real> errs;
+    errs.reserve( x.size() );
+    DAI_ASSERT( x.size() == y.size() );
+    for( size_t i = 0; i < x.size(); i++ )
+        errs.push_back( dist( x[i], y[i], DISTTV ) );
+    return errs;
+}
+
+
 /// Wrapper class for DAI approximate inference algorithms
 class TestDAI {
     protected:
@@ -34,11 +44,15 @@ class TestDAI {
         /// Stores the name of the InfAlg algorithm
         string          name;
         /// Stores the total variation distances of the variable marginals
-        vector<Real>    err;
+        vector<Real>    varErr;
+        /// Stores the total variation distances of the factor marginals
+        vector<Real>    facErr;
 
     public:
         /// Stores the variable marginals
         vector<Factor>  varMarginals;
+        /// Stores the factor marginals
+        vector<Factor>  facMarginals;
         /// Stores all marginals
         vector<Factor>  allMarginals;
         /// Stores the logarithm of the partition sum
@@ -57,7 +71,7 @@ class TestDAI {
         bool            has_iters;
 
         /// Construct from factor graph \a fg, name \a _name, and set of properties \a opts
-        TestDAI( const FactorGraph &fg, const string &_name, const PropertySet &opts ) : obj(NULL), name(_name), err(), varMarginals(), allMarginals(), logZ(0.0), maxdiff(0.0), time(0), iters(0U), has_logZ(false), has_maxdiff(false), has_iters(false) {
+        TestDAI( const FactorGraph &fg, const string &_name, const PropertySet &opts ) : obj(NULL), name(_name), varErr(), facErr(), varMarginals(), facMarginals(), allMarginals(), logZ(0.0), maxdiff(0.0), time(0), iters(0U), has_logZ(false), has_maxdiff(false), has_iters(false) {
             double tic = toc();
 
             if( name == "LDPC" ) {
@@ -143,35 +157,47 @@ class TestDAI {
                 for( size_t i = 0; i < obj->fg().nrVars(); i++ )
                     varMarginals.push_back( obj->beliefV( i ) );
 
+                // Store factor marginals
+                facMarginals.clear();
+                for( size_t I = 0; I < obj->fg().nrFactors(); I++ )
+                    try {
+                        facMarginals.push_back( obj->beliefF( I ) );
+                    } catch( Exception &e ) {
+                        if( e.code() == Exception::BELIEF_NOT_AVAILABLE )
+                            facMarginals.push_back( Factor( obj->fg().factor(I).vars(), INFINITY ) );
+                        else
+                            throw;
+                    }
+
                 // Store all marginals calculated by the method
                 allMarginals = obj->beliefs();
             };
         }
 
-        /// Calculate total variation distance of variable marginals with respect to those in \a x
-        void calcErrs( const TestDAI &x ) {
-            err.clear();
-            err.reserve( varMarginals.size() );
-            for( size_t i = 0; i < varMarginals.size(); i++ )
-                err.push_back( dist( varMarginals[i], x.varMarginals[i], DISTTV ) );
+        /// Calculate total variation distance of variable and factor marginals with respect to those in \a varMargs and \a facMargs
+        void calcErrors( const vector<Factor>& varMargs, const vector<Factor>& facMargs ) {
+            varErr = calcDists( varMarginals, varMargs );
+            facErr = calcDists( facMarginals, facMargs );
+        }
+
+        /// Return maximum variable error
+        Real maxVarErr() {
+            return( *max_element( varErr.begin(), varErr.end() ) );
         }
 
-        /// Calculate total variation distance of variable marginals with respect to those in \a x
-        void calcErrs( const vector<Factor> &x ) {
-            err.clear();
-            err.reserve( varMarginals.size() );
-            for( size_t i = 0; i < varMarginals.size(); i++ )
-                err.push_back( dist( varMarginals[i], x[i], DISTTV ) );
+        /// Return average variable error
+        Real avgVarErr() {
+            return( accumulate( varErr.begin(), varErr.end(), 0.0 ) / varErr.size() );
         }
 
-        /// Return maximum error
-        Real maxErr() {
-            return( *max_element( err.begin(), err.end() ) );
+        /// Return maximum factor error
+        Real maxFacErr() {
+            return( *max_element( facErr.begin(), facErr.end() ) );
         }
 
-        /// Return average error
-        Real avgErr() {
-            return( accumulate( err.begin(), err.end(), 0.0 ) / err.size() );
+        /// Return average factor error
+        Real avgFacErr() {
+            return( accumulate( facErr.begin(), facErr.end(), 0.0 ) / facErr.size() );
         }
 };
 
@@ -185,8 +211,8 @@ Real clipReal( Real x, Real minabs ) {
 }
 
 
-/// Whether to output no marginals, only variable marginals, or all calculated marginals
-DAI_ENUM(MarginalsOutputType,NONE,VAR,ALL);
+/// Which marginals to outpu (none, only variable, only factor, variable and factor, all)
+DAI_ENUM(MarginalsOutputType,NONE,VAR,FAC,VARFAC,ALL);
 
 
 /// Main function
@@ -217,7 +243,7 @@ int main( int argc, char *argv[] ) {
     opts_optional.add_options()
         ("help", "Produce help message")
         ("aliases", po::value< string >(&aliases), "Filename for aliases")
-        ("marginals", po::value< MarginalsOutputType >(&marginals), "Output marginals? (NONE/VAR/ALL, default=NONE)")
+        ("marginals", po::value< MarginalsOutputType >(&marginals), "Output marginals? (NONE/VAR/FAC/VARFAC/ALL, default=NONE)")
         ("report-time", po::value< bool >(&report_time), "Output calculation time (default==1)?")
         ("report-iters", po::value< bool >(&report_iters), "Output iterations needed (default==1)?")
     ;
@@ -241,11 +267,14 @@ int main( int argc, char *argv[] ) {
         cout << "  o the number of iterations needed (if report-iters == 1);" << endl;
         cout << "  o the maximum (over all variables) total variation error in the variable marginals;" << endl;
         cout << "  o the average (over all variables) total variation error in the variable marginals;" << endl;
+        cout << "  o the maximum (over all factors) total variation error in the factor marginals;" << endl;
+        cout << "  o the average (over all factors) total variation error in the factor marginals;" << endl;
         cout << "  o the error (difference) of the logarithm of the partition sums;" << endl << endl;
         cout << "All errors are calculated by comparing the results of the current method with" << endl; 
         cout << "the results of the first method (the base method). If marginals==VAR, additional" << endl;
-        cout << "output consists of the variable marginals, and if marginals==ALL, all marginals" << endl;
-        cout << "calculated by the method are reported." << endl << endl;
+        cout << "output consists of the variable marginals, if marginals==FAC, the factor marginals" << endl;
+        cout << "if marginals==VARFAC, both variable and factor marginals, and if marginals==ALL, all" << endl;
+        cout << "marginals calculated by the method are reported." << endl << endl;
         cout << "<method*> should be a list of one or more methods, seperated by spaces, in the format:" << endl << endl;
         cout << "    name[key1=val1,key2=val2,key3=val3,...,keyn=valn]" << endl << endl;
         cout << "where name should be the name of an algorithm in libDAI (or an alias, if an alias" << endl;
@@ -273,8 +302,9 @@ int main( int argc, char *argv[] ) {
         FactorGraph fg;
         fg.ReadFromFile( filename.c_str() );
 
-        // Declare variables used for storing variable marginals and log partition sum of base method
+        // Declare variables used for storing variable factor marginals and log partition sum of base method
         vector<Factor> varMarginals0;
+        vector<Factor> facMarginals0;
         Real logZ0 = 0.0;
 
         // Output header
@@ -287,8 +317,10 @@ int main( int argc, char *argv[] ) {
             cout << right << "SECONDS  " << "\t";
         if( report_iters )
             cout << "ITERS" << "\t";
-        cout << "MAX ERROR" << "\t";
-        cout << "AVG ERROR" << "\t";
+        cout << "MAX VAR ERR" << "\t";
+        cout << "AVG VAR ERR" << "\t";
+        cout << "MAX FAC ERR" << "\t";
+        cout << "AVG FAC ERR" << "\t";
         cout << "LOGZ ERROR" << "\t";
         cout << "MAXDIFF" << "\t";
         cout << endl;
@@ -315,11 +347,12 @@ int main( int argc, char *argv[] ) {
             // For the base method, store its variable marginals and logarithm of the partition sum
             if( m == 0 ) {
                 varMarginals0 = testdai.varMarginals;
+                facMarginals0 = testdai.facMarginals;
                 logZ0 = testdai.logZ;
             }
 
             // Calculate errors relative to base method
-            testdai.calcErrs( varMarginals0 );
+            testdai.calcErrors( varMarginals0, facMarginals0 );
 
             // Output method name
             cout.width( 39 );
@@ -342,12 +375,26 @@ int main( int argc, char *argv[] ) {
                 cout.precision( 3 );
 
                 // Output maximum error in variable marginals
-                Real me = clipReal( testdai.maxErr(), 1e-9 );
-                cout << me << "\t";
+                Real mev = clipReal( testdai.maxVarErr(), 1e-9 );
+                cout << mev << "\t";
 
                 // Output average error in variable marginals
-                Real ae = clipReal( testdai.avgErr(), 1e-9 );
-                cout << ae << "\t";
+                Real aev = clipReal( testdai.avgVarErr(), 1e-9 );
+                cout << aev << "\t";
+
+                // Output maximum error in factor marginals
+                Real mef = clipReal( testdai.maxFacErr(), 1e-9 );
+                if( mef == INFINITY )
+                    cout << "N/A       \t";
+                else
+                    cout << mef << "\t";
+
+                // Output average error in factor marginals
+                Real aef = clipReal( testdai.avgFacErr(), 1e-9 );
+                if( aef == INFINITY )
+                    cout << "N/A       \t";
+                else
+                    cout << aef << "\t";
 
                 // Output error in log partition sum
                 if( testdai.has_logZ ) {
@@ -361,10 +408,10 @@ int main( int argc, char *argv[] ) {
                 // Output maximum difference in last iteration
                 if( testdai.has_maxdiff ) {
                     Real md = clipReal( testdai.maxdiff, 1e-9 );
-                    if( isnan( me ) )
-                        md = me;
-                    if( isnan( ae ) )
-                        md = ae;
+                    if( isnan( mev ) )
+                        md = mev;
+                    if( isnan( aev ) )
+                        md = aev;
                     if( md == INFINITY )
                         md = 1.0;
                     cout << md << "\t";
@@ -374,13 +421,15 @@ int main( int argc, char *argv[] ) {
             cout << endl;
 
             // Output marginals, if requested
-            if( marginals == MarginalsOutputType::VAR ) {
+            if( marginals == MarginalsOutputType::VAR || marginals == MarginalsOutputType::VARFAC )
                 for( size_t i = 0; i < testdai.varMarginals.size(); i++ )
                     cout << "# " << testdai.varMarginals[i] << endl;
-            } else if( marginals == MarginalsOutputType::ALL ) {
+            if( marginals == MarginalsOutputType::FAC || marginals == MarginalsOutputType::VARFAC )
+                for( size_t I = 0; I < testdai.facMarginals.size(); I++ )
+                    cout << "# " << testdai.facMarginals[I] << endl;
+            if( marginals == MarginalsOutputType::ALL )
                 for( size_t I = 0; I < testdai.allMarginals.size(); I++ )
                     cout << "# " << testdai.allMarginals[I] << endl;
-            }
         }
 
         return 0;
index 4707b5f..07c78ef 100644 (file)
@@ -1,5 +1,5 @@
 # testfast.fg
-# METHOD                                       MAX ERROR       AVG ERROR       LOGZ ERROR      MAXDIFF 
+# METHOD                                       MAX VAR ERR     AVG VAR ERR     MAX FAC ERR     AVG FAC ERR     LOGZ ERROR      MAXDIFF 
 EXACT                                          
 # ({x0}, (3.888e-01, 6.112e-01))
 # ({x1}, (5.556e-01, 4.444e-01))
@@ -17,7 +17,7 @@ EXACT
 # ({x13}, (5.348e-01, 4.652e-01))
 # ({x14}, (6.291e-01, 3.709e-01))
 # ({x15}, (1.357e-01, 8.643e-01))
-JTREE_HUGIN                                    1.000e-09       1.000e-09       +1.000e-09      1.000e-09       
+JTREE_HUGIN                                    1.000e-09       1.000e-09       1.000e-09       1.000e-09       +1.000e-09      1.000e-09       
 # ({x0}, (3.888e-01, 6.112e-01))
 # ({x1}, (5.556e-01, 4.444e-01))
 # ({x2}, (4.587e-01, 5.413e-01))
@@ -34,7 +34,7 @@ JTREE_HUGIN                                   1.000e-09       1.000e-09       +1.000e-09      1.000e-09
 # ({x13}, (5.348e-01, 4.652e-01))
 # ({x14}, (6.291e-01, 3.709e-01))
 # ({x15}, (1.357e-01, 8.643e-01))
-JTREE_SHSH                                     1.000e-09       1.000e-09       +1.000e-09      1.000e-09       
+JTREE_SHSH                                     1.000e-09       1.000e-09       1.000e-09       1.000e-09       +1.000e-09      1.000e-09       
 # ({x0}, (3.888e-01, 6.112e-01))
 # ({x1}, (5.556e-01, 4.444e-01))
 # ({x2}, (4.587e-01, 5.413e-01))
@@ -51,7 +51,7 @@ JTREE_SHSH                                    1.000e-09       1.000e-09       +1.000e-09      1.000e-09
 # ({x13}, (5.348e-01, 4.652e-01))
 # ({x14}, (6.291e-01, 3.709e-01))
 # ({x15}, (1.357e-01, 8.643e-01))
-BP_SEQFIX                                      9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+BP_SEQFIX                                      9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -68,7 +68,7 @@ BP_SEQFIX                                     9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-BP_SEQRND                                      9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+BP_SEQRND                                      9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -85,7 +85,7 @@ BP_SEQRND                                     9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-BP_SEQMAX                                      9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+BP_SEQMAX                                      9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -102,7 +102,7 @@ BP_SEQMAX                                   9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-BP_PARALL                                      9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+BP_PARALL                                      9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -119,7 +119,7 @@ BP_PARALL                                   9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-BP_SEQFIX_LOG                                  9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+BP_SEQFIX_LOG                                  9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -136,7 +136,7 @@ BP_SEQFIX_LOG                               9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-BP_SEQRND_LOG                                  9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+BP_SEQRND_LOG                                  9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -153,7 +153,7 @@ BP_SEQRND_LOG                               9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-BP_SEQMAX_LOG                                  9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+BP_SEQMAX_LOG                                  9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -170,7 +170,7 @@ BP_SEQMAX_LOG                               9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-BP_PARALL_LOG                                  9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+BP_PARALL_LOG                                  9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -187,7 +187,7 @@ BP_PARALL_LOG                               9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-FBP                                            9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+FBP                                            9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -204,7 +204,7 @@ FBP                                         9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-TRWBP                                          9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+TRWBP                                          9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -221,7 +221,7 @@ TRWBP                                       9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-MF_SEQRND                                      3.607e-01       1.904e-01       -1.608e+00      1.000e-09       
+MF_SEQRND                                      3.607e-01       1.904e-01       N/A             N/A             -1.608e+00      1.000e-09       
 # ({x0}, (2.053e-01, 7.947e-01))
 # ({x1}, (9.163e-01, 8.373e-02))
 # ({x2}, (1.579e-01, 8.421e-01))
@@ -238,7 +238,7 @@ MF_SEQRND                                   3.607e-01       1.904e-01       -1.608e+00      1.000e-09
 # ({x13}, (8.148e-01, 1.852e-01))
 # ({x14}, (8.338e-01, 1.662e-01))
 # ({x15}, (5.661e-03, 9.943e-01))
-TREEEP                                         3.268e-02       8.023e-03       +1.084e-02      1.000e-09       
+TREEEP                                         3.268e-02       8.023e-03       N/A             N/A             +1.084e-02      1.000e-09       
 # ({x0}, (3.980e-01, 6.020e-01))
 # ({x1}, (5.520e-01, 4.480e-01))
 # ({x2}, (4.620e-01, 5.380e-01))
@@ -255,7 +255,7 @@ TREEEP                                      3.268e-02       8.023e-03       +1.084e-02      1.000e-09
 # ({x13}, (5.293e-01, 4.707e-01))
 # ({x14}, (6.409e-01, 3.591e-01))
 # ({x15}, (1.364e-01, 8.636e-01))
-TREEEPWC                                       2.356e-02       1.026e-02       +8.334e-02      1.000e-09       
+TREEEPWC                                       2.356e-02       1.026e-02       N/A             N/A             +8.334e-02      1.000e-09       
 # ({x0}, (4.091e-01, 5.909e-01))
 # ({x1}, (5.429e-01, 4.571e-01))
 # ({x2}, (4.697e-01, 5.303e-01))
@@ -272,7 +272,7 @@ TREEEPWC                                    2.356e-02       1.026e-02       +8.334e-02      1.000e-09
 # ({x13}, (5.298e-01, 4.702e-01))
 # ({x14}, (6.299e-01, 3.701e-01))
 # ({x15}, (1.384e-01, 8.616e-01))
-GBP_MIN                                        9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+GBP_MIN                                        9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -289,7 +289,7 @@ GBP_MIN                                     9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-GBP_BETHE                                      9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+GBP_BETHE                                      9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -306,7 +306,7 @@ GBP_BETHE                                   9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-GBP_DELTA                                      6.291e-01       3.350e-01       -5.645e+00      1.000e-09       
+GBP_DELTA                                      6.291e-01       3.350e-01       8.273e-01       4.628e-01       -5.645e+00      1.000e-09       
 # ({x0}, (0.000e+00, 1.000e+00))
 # ({x1}, (1.000e+00, 0.000e+00))
 # ({x2}, (0.000e+00, 1.000e+00))
@@ -323,7 +323,7 @@ GBP_DELTA                                   6.291e-01       3.350e-01       -5.645e+00      1.000e-09
 # ({x13}, (0.000e+00, 1.000e+00))
 # ({x14}, (0.000e+00, 1.000e+00))
 # ({x15}, (0.000e+00, 1.000e+00))
-GBP_LOOP3                                      9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+GBP_LOOP3                                      9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -340,7 +340,7 @@ GBP_LOOP3                                   9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-GBP_LOOP4                                      7.893e-01       3.728e-01       -9.954e+00      1.000e-09       
+GBP_LOOP4                                      7.893e-01       3.728e-01       9.324e-01       5.220e-01       -9.954e+00      1.000e-09       
 # ({x0}, (0.000e+00, 1.000e+00))
 # ({x1}, (1.000e+00, 0.000e+00))
 # ({x2}, (0.000e+00, 1.000e+00))
@@ -357,7 +357,7 @@ GBP_LOOP4                                   7.893e-01       3.728e-01       -9.954e+00      1.000e-09
 # ({x13}, (1.000e+00, 0.000e+00))
 # ({x14}, (0.000e+00, 1.000e+00))
 # ({x15}, (0.000e+00, 1.000e+00))
-GBP_LOOP5                                      7.893e-01       3.728e-01       -9.954e+00      1.000e-09       
+GBP_LOOP5                                      7.893e-01       3.728e-01       9.324e-01       5.220e-01       -9.954e+00      1.000e-09       
 # ({x0}, (0.000e+00, 1.000e+00))
 # ({x1}, (1.000e+00, 0.000e+00))
 # ({x2}, (0.000e+00, 1.000e+00))
@@ -374,7 +374,7 @@ GBP_LOOP5                                   7.893e-01       3.728e-01       -9.954e+00      1.000e-09
 # ({x13}, (1.000e+00, 0.000e+00))
 # ({x14}, (0.000e+00, 1.000e+00))
 # ({x15}, (0.000e+00, 1.000e+00))
-GBP_LOOP6                                      7.948e-01       4.458e-01       -7.000e+00      1.000e-09       
+GBP_LOOP6                                      7.948e-01       4.458e-01       9.321e-01       5.838e-01       -7.000e+00      1.000e-09       
 # ({x0}, (1.000e+00, 0.000e+00))
 # ({x1}, (0.000e+00, 1.000e+00))
 # ({x2}, (1.000e+00, 0.000e+00))
@@ -391,7 +391,7 @@ GBP_LOOP6                                   7.948e-01       4.458e-01       -7.000e+00      1.000e-09
 # ({x13}, (1.000e+00, 0.000e+00))
 # ({x14}, (0.000e+00, 1.000e+00))
 # ({x15}, (0.000e+00, 1.000e+00))
-GBP_LOOP7                                      7.948e-01       4.458e-01       -7.000e+00      1.000e-09       
+GBP_LOOP7                                      7.948e-01       4.458e-01       9.321e-01       5.838e-01       -7.000e+00      1.000e-09       
 # ({x0}, (1.000e+00, 0.000e+00))
 # ({x1}, (0.000e+00, 1.000e+00))
 # ({x2}, (1.000e+00, 0.000e+00))
@@ -408,7 +408,7 @@ GBP_LOOP7                                   7.948e-01       4.458e-01       -7.000e+00      1.000e-09
 # ({x13}, (1.000e+00, 0.000e+00))
 # ({x14}, (0.000e+00, 1.000e+00))
 # ({x15}, (0.000e+00, 1.000e+00))
-HAK_MIN                                        9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+HAK_MIN                                        9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -425,7 +425,7 @@ HAK_MIN                                     9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-HAK_BETHE                                      9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+HAK_BETHE                                      9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -442,7 +442,7 @@ HAK_BETHE                                   9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-HAK_DELTA                                      3.684e-01       1.892e-01       +1.654e+01      1.000e-09       
+HAK_DELTA                                      3.684e-01       1.892e-01       8.157e-01       3.459e-01       +1.654e+01      1.000e-09       
 # ({x0}, (4.902e-01, 5.098e-01))
 # ({x1}, (5.098e-01, 4.902e-01))
 # ({x2}, (4.902e-01, 5.098e-01))
@@ -459,7 +459,7 @@ HAK_DELTA                                   3.684e-01       1.892e-01       +1.654e+01      1.000e-09
 # ({x13}, (5.098e-01, 4.902e-01))
 # ({x14}, (5.098e-01, 4.902e-01))
 # ({x15}, (4.902e-01, 5.098e-01))
-HAK_LOOP3                                      9.483e-02       3.078e-02       +2.969e-01      1.000e-09       
+HAK_LOOP3                                      9.483e-02       3.078e-02       1.308e-01       4.806e-02       +2.969e-01      1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -476,7 +476,7 @@ HAK_LOOP3                                   9.483e-02       3.078e-02       +2.969e-01      1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-HAK_LOOP4                                      4.970e-03       1.486e-03       -4.277e-03      1.000e-09       
+HAK_LOOP4                                      4.970e-03       1.486e-03       8.511e-03       2.899e-03       -4.277e-03      1.000e-09       
 # ({x0}, (3.909e-01, 6.091e-01))
 # ({x1}, (5.556e-01, 4.444e-01))
 # ({x2}, (4.585e-01, 5.415e-01))
@@ -493,7 +493,7 @@ HAK_LOOP4                                   4.970e-03       1.486e-03       -4.277e-03      1.000e-09
 # ({x13}, (5.351e-01, 4.649e-01))
 # ({x14}, (6.319e-01, 3.681e-01))
 # ({x15}, (1.307e-01, 8.693e-01))
-HAK_LOOP5                                      4.970e-03       1.486e-03       -4.277e-03      1.000e-09       
+HAK_LOOP5                                      4.970e-03       1.486e-03       8.511e-03       2.899e-03       -4.277e-03      1.000e-09       
 # ({x0}, (3.909e-01, 6.091e-01))
 # ({x1}, (5.556e-01, 4.444e-01))
 # ({x2}, (4.585e-01, 5.415e-01))
@@ -510,7 +510,7 @@ HAK_LOOP5                                   4.970e-03       1.486e-03       -4.277e-03      1.000e-09
 # ({x13}, (5.351e-01, 4.649e-01))
 # ({x14}, (6.319e-01, 3.681e-01))
 # ({x15}, (1.307e-01, 8.693e-01))
-MR_RESPPROP_FULL                               1.676e-02       4.933e-03       N/A             1.000e-09       
+MR_RESPPROP_FULL                               1.676e-02       4.933e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.941e-01, 6.059e-01))
 # ({x1}, (5.534e-01, 4.466e-01))
 # ({x2}, (4.602e-01, 5.398e-01))
@@ -527,7 +527,7 @@ MR_RESPPROP_FULL                            1.676e-02       4.933e-03       N/A             1.000e-09
 # ({x13}, (5.407e-01, 4.593e-01))
 # ({x14}, (6.252e-01, 3.748e-01))
 # ({x15}, (1.346e-01, 8.654e-01))
-MR_CLAMPING_FULL                               6.060e-03       1.754e-03       N/A             1.000e-09       
+MR_CLAMPING_FULL                               6.060e-03       1.754e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.872e-01, 6.128e-01))
 # ({x1}, (5.585e-01, 4.415e-01))
 # ({x2}, (4.575e-01, 5.425e-01))
@@ -544,7 +544,7 @@ MR_CLAMPING_FULL                            6.060e-03       1.754e-03       N/A             1.000e-09
 # ({x13}, (5.409e-01, 4.591e-01))
 # ({x14}, (6.292e-01, 3.708e-01))
 # ({x15}, (1.338e-01, 8.662e-01))
-MR_EXACT_FULL                                  3.527e-03       1.038e-03       N/A             1.000e-09       
+MR_EXACT_FULL                                  3.527e-03       1.038e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.867e-01, 6.133e-01))
 # ({x1}, (5.572e-01, 4.428e-01))
 # ({x2}, (4.585e-01, 5.415e-01))
@@ -561,7 +561,7 @@ MR_EXACT_FULL                               3.527e-03       1.038e-03       N/A             1.000e-09
 # ({x13}, (5.384e-01, 4.616e-01))
 # ({x14}, (6.296e-01, 3.704e-01))
 # ({x15}, (1.344e-01, 8.656e-01))
-MR_RESPPROP_LINEAR                             1.932e-02       5.506e-03       N/A             1.000e-09       
+MR_RESPPROP_LINEAR                             1.932e-02       5.506e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.923e-01, 6.077e-01))
 # ({x1}, (5.529e-01, 4.471e-01))
 # ({x2}, (4.608e-01, 5.392e-01))
@@ -578,7 +578,7 @@ MR_RESPPROP_LINEAR                          1.932e-02       5.506e-03       N/A             1.000e-09
 # ({x13}, (5.388e-01, 4.612e-01))
 # ({x14}, (6.239e-01, 3.761e-01))
 # ({x15}, (1.369e-01, 8.631e-01))
-MR_CLAMPING_LINEAR                             5.992e-03       1.960e-03       N/A             1.000e-09       
+MR_CLAMPING_LINEAR                             5.992e-03       1.960e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.856e-01, 6.144e-01))
 # ({x1}, (5.573e-01, 4.427e-01))
 # ({x2}, (4.586e-01, 5.414e-01))
@@ -595,7 +595,7 @@ MR_CLAMPING_LINEAR                          5.992e-03       1.960e-03       N/A             1.000e-09
 # ({x13}, (5.388e-01, 4.612e-01))
 # ({x14}, (6.275e-01, 3.725e-01))
 # ({x15}, (1.366e-01, 8.634e-01))
-MR_EXACT_LINEAR                                5.617e-03       1.742e-03       N/A             1.000e-09       
+MR_EXACT_LINEAR                                5.617e-03       1.742e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.853e-01, 6.147e-01))
 # ({x1}, (5.560e-01, 4.440e-01))
 # ({x2}, (4.596e-01, 5.404e-01))
@@ -612,7 +612,7 @@ MR_EXACT_LINEAR                             5.617e-03       1.742e-03       N/A             1.000e-09
 # ({x13}, (5.362e-01, 4.638e-01))
 # ({x14}, (6.279e-01, 3.721e-01))
 # ({x15}, (1.372e-01, 8.628e-01))
-LCBP_FULLCAV_SEQFIX                            1.225e-03       5.589e-04       N/A             1.000e-09       
+LCBP_FULLCAV_SEQFIX                            1.225e-03       5.589e-04       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.888e-01, 6.112e-01))
 # ({x1}, (5.559e-01, 4.441e-01))
 # ({x2}, (4.583e-01, 5.417e-01))
@@ -629,7 +629,7 @@ LCBP_FULLCAV_SEQFIX                         1.225e-03       5.589e-04       N/A             1.000e-09
 # ({x13}, (5.358e-01, 4.642e-01))
 # ({x14}, (6.285e-01, 3.715e-01))
 # ({x15}, (1.359e-01, 8.641e-01))
-LCBP_FULLCAVin_SEQFIX                          1.225e-03       5.589e-04       N/A             1.000e-09       
+LCBP_FULLCAVin_SEQFIX                          1.225e-03       5.589e-04       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.888e-01, 6.112e-01))
 # ({x1}, (5.559e-01, 4.441e-01))
 # ({x2}, (4.583e-01, 5.417e-01))
@@ -646,7 +646,7 @@ LCBP_FULLCAVin_SEQFIX                       1.225e-03       5.589e-04       N/A             1.000e-09
 # ({x13}, (5.358e-01, 4.642e-01))
 # ({x14}, (6.285e-01, 3.715e-01))
 # ({x15}, (1.359e-01, 8.641e-01))
-LCBP_FULLCAV_SEQRND                            1.225e-03       5.589e-04       N/A             1.000e-09       
+LCBP_FULLCAV_SEQRND                            1.225e-03       5.589e-04       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.888e-01, 6.112e-01))
 # ({x1}, (5.559e-01, 4.441e-01))
 # ({x2}, (4.583e-01, 5.417e-01))
@@ -663,7 +663,7 @@ LCBP_FULLCAV_SEQRND                         1.225e-03       5.589e-04       N/A             1.000e-09
 # ({x13}, (5.358e-01, 4.642e-01))
 # ({x14}, (6.285e-01, 3.715e-01))
 # ({x15}, (1.359e-01, 8.641e-01))
-LCBP_FULLCAVin_SEQRND                          1.225e-03       5.589e-04       N/A             1.000e-09       
+LCBP_FULLCAVin_SEQRND                          1.225e-03       5.589e-04       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.888e-01, 6.112e-01))
 # ({x1}, (5.559e-01, 4.441e-01))
 # ({x2}, (4.583e-01, 5.417e-01))
@@ -680,7 +680,7 @@ LCBP_FULLCAVin_SEQRND                       1.225e-03       5.589e-04       N/A             1.000e-09
 # ({x13}, (5.358e-01, 4.642e-01))
 # ({x14}, (6.285e-01, 3.715e-01))
 # ({x15}, (1.359e-01, 8.641e-01))
-LCBP_FULLCAV_NONE                              1.318e-02       2.644e-03       N/A             1.000e+00       
+LCBP_FULLCAV_NONE                              1.318e-02       2.644e-03       N/A             N/A             N/A             1.000e+00       
 # ({x0}, (3.859e-01, 6.141e-01))
 # ({x1}, (5.569e-01, 4.431e-01))
 # ({x2}, (4.719e-01, 5.281e-01))
@@ -697,7 +697,7 @@ LCBP_FULLCAV_NONE                           1.318e-02       2.644e-03       N/A             1.000e+00
 # ({x13}, (5.350e-01, 4.650e-01))
 # ({x14}, (6.290e-01, 3.710e-01))
 # ({x15}, (1.364e-01, 8.636e-01))
-LCBP_FULLCAVin_NONE                            1.318e-02       2.644e-03       N/A             1.000e+00       
+LCBP_FULLCAVin_NONE                            1.318e-02       2.644e-03       N/A             N/A             N/A             1.000e+00       
 # ({x0}, (3.859e-01, 6.141e-01))
 # ({x1}, (5.569e-01, 4.431e-01))
 # ({x2}, (4.719e-01, 5.281e-01))
@@ -714,7 +714,7 @@ LCBP_FULLCAVin_NONE                         1.318e-02       2.644e-03       N/A             1.000e+00
 # ({x13}, (5.350e-01, 4.650e-01))
 # ({x14}, (6.290e-01, 3.710e-01))
 # ({x15}, (1.364e-01, 8.636e-01))
-LCBP_PAIRCAV_SEQFIX                            1.564e-02       5.284e-03       N/A             1.000e-09       
+LCBP_PAIRCAV_SEQFIX                            1.564e-02       5.284e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.872e-01, 6.128e-01))
 # ({x1}, (5.540e-01, 4.460e-01))
 # ({x2}, (4.596e-01, 5.404e-01))
@@ -731,7 +731,7 @@ LCBP_PAIRCAV_SEQFIX                         1.564e-02       5.284e-03       N/A             1.000e-09
 # ({x13}, (5.282e-01, 4.718e-01))
 # ({x14}, (6.240e-01, 3.760e-01))
 # ({x15}, (1.409e-01, 8.591e-01))
-LCBP_PAIRCAVin_SEQFIX                          1.564e-02       5.284e-03       N/A             1.000e-09       
+LCBP_PAIRCAVin_SEQFIX                          1.564e-02       5.284e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.872e-01, 6.128e-01))
 # ({x1}, (5.540e-01, 4.460e-01))
 # ({x2}, (4.596e-01, 5.404e-01))
@@ -748,7 +748,7 @@ LCBP_PAIRCAVin_SEQFIX                       1.564e-02       5.284e-03       N/A             1.000e-09
 # ({x13}, (5.282e-01, 4.718e-01))
 # ({x14}, (6.240e-01, 3.760e-01))
 # ({x15}, (1.409e-01, 8.591e-01))
-LCBP_PAIRCAV_SEQRND                            1.564e-02       5.284e-03       N/A             1.000e-09       
+LCBP_PAIRCAV_SEQRND                            1.564e-02       5.284e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.872e-01, 6.128e-01))
 # ({x1}, (5.540e-01, 4.460e-01))
 # ({x2}, (4.596e-01, 5.404e-01))
@@ -765,7 +765,7 @@ LCBP_PAIRCAV_SEQRND                         1.564e-02       5.284e-03       N/A             1.000e-09
 # ({x13}, (5.282e-01, 4.718e-01))
 # ({x14}, (6.240e-01, 3.760e-01))
 # ({x15}, (1.409e-01, 8.591e-01))
-LCBP_PAIRCAVin_SEQRND                          1.564e-02       5.284e-03       N/A             1.000e-09       
+LCBP_PAIRCAVin_SEQRND                          1.564e-02       5.284e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.872e-01, 6.128e-01))
 # ({x1}, (5.540e-01, 4.460e-01))
 # ({x2}, (4.596e-01, 5.404e-01))
@@ -782,7 +782,7 @@ LCBP_PAIRCAVin_SEQRND                       1.564e-02       5.284e-03       N/A             1.000e-09
 # ({x13}, (5.282e-01, 4.718e-01))
 # ({x14}, (6.240e-01, 3.760e-01))
 # ({x15}, (1.409e-01, 8.591e-01))
-LCBP_PAIRCAV_NONE                              1.869e-01       6.816e-02       N/A             1.000e+00       
+LCBP_PAIRCAV_NONE                              1.869e-01       6.816e-02       N/A             N/A             N/A             1.000e+00       
 # ({x0}, (3.558e-01, 6.442e-01))
 # ({x1}, (5.320e-01, 4.680e-01))
 # ({x2}, (4.581e-01, 5.419e-01))
@@ -799,7 +799,7 @@ LCBP_PAIRCAV_NONE                           1.869e-01       6.816e-02       N/A             1.000e+00
 # ({x13}, (6.323e-01, 3.677e-01))
 # ({x14}, (8.161e-01, 1.839e-01))
 # ({x15}, (1.676e-01, 8.324e-01))
-LCBP_PAIRCAVin_NONE                            1.869e-01       6.816e-02       N/A             1.000e+00       
+LCBP_PAIRCAVin_NONE                            1.869e-01       6.816e-02       N/A             N/A             N/A             1.000e+00       
 # ({x0}, (3.558e-01, 6.442e-01))
 # ({x1}, (5.320e-01, 4.680e-01))
 # ({x2}, (4.581e-01, 5.419e-01))
@@ -816,7 +816,7 @@ LCBP_PAIRCAVin_NONE                         1.869e-01       6.816e-02       N/A             1.000e+00
 # ({x13}, (6.323e-01, 3.677e-01))
 # ({x14}, (8.161e-01, 1.839e-01))
 # ({x15}, (1.676e-01, 8.324e-01))
-LCBP_PAIR2CAV_SEQFIX                           1.535e-02       4.445e-03       N/A             1.000e-09       
+LCBP_PAIR2CAV_SEQFIX                           1.535e-02       4.445e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.844e-01, 6.156e-01))
 # ({x1}, (5.557e-01, 4.443e-01))
 # ({x2}, (4.588e-01, 5.412e-01))
@@ -833,7 +833,7 @@ LCBP_PAIR2CAV_SEQFIX                        1.535e-02       4.445e-03       N/A             1.000e-09
 # ({x13}, (5.280e-01, 4.720e-01))
 # ({x14}, (6.250e-01, 3.750e-01))
 # ({x15}, (1.411e-01, 8.589e-01))
-LCBP_PAIR2CAVin_SEQFIX                         1.535e-02       4.445e-03       N/A             1.000e-09       
+LCBP_PAIR2CAVin_SEQFIX                         1.535e-02       4.445e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.844e-01, 6.156e-01))
 # ({x1}, (5.557e-01, 4.443e-01))
 # ({x2}, (4.588e-01, 5.412e-01))
@@ -850,7 +850,7 @@ LCBP_PAIR2CAVin_SEQFIX                      1.535e-02       4.445e-03       N/A             1.000e-09
 # ({x13}, (5.280e-01, 4.720e-01))
 # ({x14}, (6.250e-01, 3.750e-01))
 # ({x15}, (1.411e-01, 8.589e-01))
-LCBP_PAIR2CAV_SEQRND                           1.535e-02       4.445e-03       N/A             1.000e-09       
+LCBP_PAIR2CAV_SEQRND                           1.535e-02       4.445e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.844e-01, 6.156e-01))
 # ({x1}, (5.557e-01, 4.443e-01))
 # ({x2}, (4.588e-01, 5.412e-01))
@@ -867,7 +867,7 @@ LCBP_PAIR2CAV_SEQRND                        1.535e-02       4.445e-03       N/A             1.000e-09
 # ({x13}, (5.280e-01, 4.720e-01))
 # ({x14}, (6.250e-01, 3.750e-01))
 # ({x15}, (1.411e-01, 8.589e-01))
-LCBP_PAIR2CAVin_SEQRND                         1.535e-02       4.445e-03       N/A             1.000e-09       
+LCBP_PAIR2CAVin_SEQRND                         1.535e-02       4.445e-03       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (3.844e-01, 6.156e-01))
 # ({x1}, (5.557e-01, 4.443e-01))
 # ({x2}, (4.588e-01, 5.412e-01))
@@ -884,7 +884,7 @@ LCBP_PAIR2CAVin_SEQRND                      1.535e-02       4.445e-03       N/A             1.000e-09
 # ({x13}, (5.280e-01, 4.720e-01))
 # ({x14}, (6.250e-01, 3.750e-01))
 # ({x15}, (1.411e-01, 8.589e-01))
-LCBP_PAIR2CAV_NONE                             1.894e-01       7.196e-02       N/A             1.000e+00       
+LCBP_PAIR2CAV_NONE                             1.894e-01       7.196e-02       N/A             N/A             N/A             1.000e+00       
 # ({x0}, (3.525e-01, 6.475e-01))
 # ({x1}, (5.395e-01, 4.605e-01))
 # ({x2}, (4.567e-01, 5.433e-01))
@@ -901,7 +901,7 @@ LCBP_PAIR2CAV_NONE                          1.894e-01       7.196e-02       N/A             1.000e+00
 # ({x13}, (6.444e-01, 3.556e-01))
 # ({x14}, (8.185e-01, 1.815e-01))
 # ({x15}, (1.841e-01, 8.159e-01))
-LCBP_PAIR2CAVin_NONE                           1.894e-01       7.196e-02       N/A             1.000e+00       
+LCBP_PAIR2CAVin_NONE                           1.894e-01       7.196e-02       N/A             N/A             N/A             1.000e+00       
 # ({x0}, (3.525e-01, 6.475e-01))
 # ({x1}, (5.395e-01, 4.605e-01))
 # ({x2}, (4.567e-01, 5.433e-01))
@@ -918,7 +918,7 @@ LCBP_PAIR2CAVin_NONE                        1.894e-01       7.196e-02       N/A             1.000e+00
 # ({x13}, (6.444e-01, 3.556e-01))
 # ({x14}, (8.185e-01, 1.815e-01))
 # ({x15}, (1.841e-01, 8.159e-01))
-LCBP_UNICAV_SEQFIX                             9.483e-02       3.078e-02       N/A             1.000e-09       
+LCBP_UNICAV_SEQFIX                             9.483e-02       3.078e-02       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -935,7 +935,7 @@ LCBP_UNICAV_SEQFIX                          9.483e-02       3.078e-02       N/A             1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-LCBP_UNICAV_SEQRND                             9.483e-02       3.078e-02       N/A             1.000e-09       
+LCBP_UNICAV_SEQRND                             9.483e-02       3.078e-02       N/A             N/A             N/A             1.000e-09       
 # ({x0}, (4.233e-01, 5.767e-01))
 # ({x1}, (5.422e-01, 4.578e-01))
 # ({x2}, (4.662e-01, 5.338e-01))
@@ -952,7 +952,7 @@ LCBP_UNICAV_SEQRND                          9.483e-02       3.078e-02       N/A             1.000e-09
 # ({x13}, (5.266e-01, 4.734e-01))
 # ({x14}, (6.033e-01, 3.967e-01))
 # ({x15}, (1.558e-01, 8.442e-01))
-BBP                                            7.049e-04       2.319e-04       +1.209e-03      1.000e-09       
+BBP                                            7.049e-04       2.319e-04       2.813e-03       4.214e-04       +1.209e-03      1.000e-09       
 # ({x0}, (3.890e-01, 6.110e-01))
 # ({x1}, (5.555e-01, 4.445e-01))
 # ({x2}, (4.587e-01, 5.413e-01))
@@ -969,7 +969,7 @@ BBP                                         7.049e-04       2.319e-04       +1.209e-03      1.000e-09
 # ({x13}, (5.351e-01, 4.649e-01))
 # ({x14}, (6.284e-01, 3.716e-01))
 # ({x15}, (1.355e-01, 8.645e-01))
-CBP                                            5.336e-06       2.335e-06       -6.764e-06      1.000e-09       
+CBP                                            5.336e-06       2.335e-06       1.154e-05       3.541e-06       -6.764e-06      1.000e-09       
 # ({x0}, (3.888e-01, 6.112e-01))
 # ({x1}, (5.556e-01, 4.444e-01))
 # ({x2}, (4.587e-01, 5.413e-01))