diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7d3afbf1829dcb2f92d8083ab4456216fdcf44af..b586a4abe5f24db25d627cf8f6cd4f9d7045f357 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -80,6 +80,10 @@ if(BUILD_PARAMS)
         NAME NL_Optimization_Residuals
         COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 2 ${MPIEXEC_PREFLAGS} "${CMAKE_BINARY_DIR}/bin/sisso++" "${CMAKE_SOURCE_DIR}/tests/exec_test/reparam/sisso.json" ${MPIEXEC_POSTFLAGS}
     )
+    add_test(
+        NAME NL_Optimization_Residuals_Generate_Project
+        COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} 2 ${MPIEXEC_PREFLAGS} "${CMAKE_BINARY_DIR}/bin/sisso++" "${CMAKE_SOURCE_DIR}/tests/exec_test/reparam_gen_proj/sisso.json" ${MPIEXEC_POSTFLAGS}
+    )
 endif()
 
 if(BUILD_PYTHON)
diff --git a/src/descriptor_identifier/model/Model.cpp b/src/descriptor_identifier/model/Model.cpp
index a0ff61393e7f7988d389599f0ddcbc85075ff323..f35b40b5e5dc523485b57cf3771329f623973644 100644
--- a/src/descriptor_identifier/model/Model.cpp
+++ b/src/descriptor_identifier/model/Model.cpp
@@ -123,6 +123,7 @@ std::vector<double> Model::eval(std::vector<std::vector<double>> x_in) const
 std::vector<double> Model::eval(std::map<std::string, std::vector<double>> x_in_dct) const
 {
     std::vector<std::vector<double>> x_in;
+
     for(auto& feat :_feats)
     {
         for(auto& in_expr : feat->get_x_in_expr_list())
@@ -268,6 +269,7 @@ void Model::to_file(const std::string filename, const bool train) const
 
 void Model::write_matlab_fxn(std::string fxn_filename)
 {
+
     if(fxn_filename.substr(fxn_filename.size() - 2, 2).compare(".m") != 0)
     {
         fxn_filename += ".m";
diff --git a/src/descriptor_identifier/model/ModelClassifier.hpp b/src/descriptor_identifier/model/ModelClassifier.hpp
index 28ef2d60ffc6e4eaae3e9473f11fab4a1d670317..6126910ccda7c56d42766ae925f4eb8f86d56442 100644
--- a/src/descriptor_identifier/model/ModelClassifier.hpp
+++ b/src/descriptor_identifier/model/ModelClassifier.hpp
@@ -43,6 +43,9 @@ class ModelClassifier : public Model
 
     int _train_n_svm_misclassified; //!< The number of points misclassified by SVM (training set)
     int _test_n_svm_misclassified; //!< The number of points misclassified by SVM (test set)
+protected:
+    using Model::eval;
+
 public:
 
     /**
diff --git a/src/descriptor_identifier/model/ModelLogRegressor.hpp b/src/descriptor_identifier/model/ModelLogRegressor.hpp
index da7f5e097681e11adf2358a3824065f91e7d492d..dbad12bca49b975ddb78aec06256b77ee062d6dc 100644
--- a/src/descriptor_identifier/model/ModelLogRegressor.hpp
+++ b/src/descriptor_identifier/model/ModelLogRegressor.hpp
@@ -36,8 +36,9 @@
  */
 class ModelLogRegressor : public ModelRegressor
 {
-
 public:
+    using Model::eval;
+
     /**
      * @brief Default constructor
      */
diff --git a/src/descriptor_identifier/model/ModelRegressor.hpp b/src/descriptor_identifier/model/ModelRegressor.hpp
index 8048428075d16fecfff9ab3cdb76f9d955b77043..73c047c589bd67dac340718dcdbc231bbfb0df3f 100644
--- a/src/descriptor_identifier/model/ModelRegressor.hpp
+++ b/src/descriptor_identifier/model/ModelRegressor.hpp
@@ -37,6 +37,8 @@
 class ModelRegressor : public Model
 {
 public:
+    using Model::eval;
+
     /**
      * @brief Default Constructor
      */
diff --git a/src/descriptor_identifier/solver/SISSOClassifier.cpp b/src/descriptor_identifier/solver/SISSOClassifier.cpp
index f5f355f0376fb3232e24abe12af8ab882c23e347..5af8e3eec7183cf6f354a640d37cbcbdc0e70307 100644
--- a/src/descriptor_identifier/solver/SISSOClassifier.cpp
+++ b/src/descriptor_identifier/solver/SISSOClassifier.cpp
@@ -294,6 +294,8 @@ void SISSOClassifier::l0_regularization(const int n_dim)
     }
 
     _models.push_back(models);
+
+    min_nodes.resize(_n_residual);
     _loss->reset_projection_prop(min_nodes);
 }
 
diff --git a/src/descriptor_identifier/solver/SISSOLogRegressor.cpp b/src/descriptor_identifier/solver/SISSOLogRegressor.cpp
index 992d2f734dabd6d60562f39e05be8dd0daef654d..de3e7b274679393427c3cf69213ffcdf5cb42dbf 100644
--- a/src/descriptor_identifier/solver/SISSOLogRegressor.cpp
+++ b/src/descriptor_identifier/solver/SISSOLogRegressor.cpp
@@ -84,6 +84,7 @@ void SISSOLogRegressor::add_models(const std::vector<std::vector<int>> indexes)
         _models.back().push_back(model);
     }
 
+    min_nodes.resize(_n_residual);
     _loss->reset_projection_prop(min_nodes);
 }
 
diff --git a/src/descriptor_identifier/solver/SISSORegressor.cpp b/src/descriptor_identifier/solver/SISSORegressor.cpp
index f51087220eb026957bd5300209df7062fdfce8c8..8ce5ea0582f9f041fc9725a991ddd4dfc9b79671 100644
--- a/src/descriptor_identifier/solver/SISSORegressor.cpp
+++ b/src/descriptor_identifier/solver/SISSORegressor.cpp
@@ -52,7 +52,7 @@ void SISSORegressor::add_models(const std::vector<std::vector<int>> indexes)
         );
         _models.back().push_back(model);
     }
-
+    min_nodes.resize(_n_residual);
     _loss->reset_projection_prop(min_nodes);
 }
 
diff --git a/src/inputs/InputParser.cpp b/src/inputs/InputParser.cpp
index c791f1e4129442458e63d060d31c210d97863f5f..5083725a37691fc872f48c2cd384e6f94a329674 100644
--- a/src/inputs/InputParser.cpp
+++ b/src/inputs/InputParser.cpp
@@ -92,7 +92,10 @@ InputParser::InputParser(pt::ptree ip, std::string fn, std::shared_ptr<MPI_Inter
             throw std::logic_error("The data file is an absolute path, but _data_file_relative_to_json is true.");
         }
         std::vector<std::string> filepath = str_utils::split_string_trim(fn, "/");
-        _data_file = str_utils::join("/", filepath.data(), filepath.size() - 1) + "/" + _data_file;
+        if(filepath.size() > 1)
+        {
+            _data_file = str_utils::join("/", filepath.data(), filepath.size() - 1) + "/" + _data_file;
+        }
     }
 
     // Check if param ops are passed without being build with parameterized features
@@ -819,11 +822,19 @@ void strip_comments(std::string& filename)
 {
     //Open input and output file
     std::vector<std::string> filepath = str_utils::split_string_trim(filename, "/");
-    std::string newfn = str_utils::join("/", filepath.data(), filepath.size() - 1) + "/stripped_" + filepath.back();
+    std::string new_fn;
+    if(filepath.size() > 1)
+    {
+        new_fn = str_utils::join("/", filepath.data(), filepath.size() - 1) + "/stripped_" + filepath.back();
+    }
+    else
+    {
+        new_fn = "stripped_" + filename;
+    }
     std::fstream inputfile;
     inputfile.open(filename);
     std::ofstream inputcopy;
-    inputcopy.open(newfn);
+    inputcopy.open(new_fn);
 
     //search for '//' or '#', delete everything following, print remainder to new file
     std::string line;
@@ -848,7 +859,7 @@ void strip_comments(std::string& filename)
     }
     inputcopy.close();
     //update filename;
-    filename = newfn;
+    filename = new_fn;
 }
 
 pt::ptree get_prop_tree(std::string fn, std::shared_ptr<MPI_Interface> mpi_comm)
@@ -860,7 +871,14 @@ pt::ptree get_prop_tree(std::string fn, std::shared_ptr<MPI_Interface> mpi_comm)
     else
     {
         std::vector<std::string> filepath = str_utils::split_string_trim(fn, "/");
-        fn = str_utils::join("/", filepath.data(), filepath.size() - 1) + "/stripped_" + filepath.back();
+        if(filepath.size() > 1)
+        {
+            fn = str_utils::join("/", filepath.data(), filepath.size() - 1) + "/stripped_" + filepath.back();
+        }
+        else
+        {
+            fn = "stripped_" + fn;
+        }
     }
 
     mpi_comm->barrier();
diff --git a/src/loss_function/LossFunction.cpp b/src/loss_function/LossFunction.cpp
index 8389333ebac0cb3581a62465e5be4a38a3c9a7a5..0932c7af6023e22ffda3c4d919b9920c35904b7d 100644
--- a/src/loss_function/LossFunction.cpp
+++ b/src/loss_function/LossFunction.cpp
@@ -30,6 +30,7 @@ LossFunction::LossFunction(
     int n_feat
 ) :
     _projection_prop(prop_train),
+    _projection_prop_std(prop_train),
     _prop_train(prop_train),
     _prop_test(prop_test),
     _prop_train_est(prop_train.size(), 0.0),
@@ -51,6 +52,7 @@ LossFunction::LossFunction(
 
 LossFunction::LossFunction(std::shared_ptr<LossFunction> o) :
     _projection_prop(o->prop_project_copy()),
+    _projection_prop_std(o->prop_project_std_copy()),
     _prop_train(o->prop_train_copy()),
     _prop_test(o->prop_test_copy()),
     _prop_train_est(o->prop_train_est_copy()),
diff --git a/src/loss_function/LossFunction.hpp b/src/loss_function/LossFunction.hpp
index 12df655336e6022b37419b4c4b652e146ff93642..0379bfe329b27df0e13906f9e69238511af7505f 100644
--- a/src/loss_function/LossFunction.hpp
+++ b/src/loss_function/LossFunction.hpp
@@ -33,6 +33,7 @@ class LossFunction
 {
 protected:
     std::vector<double> _projection_prop; //!< The property vector used for projection
+    std::vector<double> _projection_prop_std; //!< The standardized property vector used for projection
 
     std::vector<double> _prop_train; //!< The value of the property to evaluate the loss function against for the training set
     std::vector<double> _prop_test; //!< The value of the property to evaluate the loss function against for the test set
@@ -193,6 +194,11 @@ public:
      */
     inline const std::vector<double>& prop_project() const {return _projection_prop;}
 
+    /**
+     * @brief Pointer to the head of the standardized property vector used for projection
+     */
+    inline const double* prop_project_std_pointer() const {return _projection_prop_std.data();}
+
     /**
      * @brief Copy of the value of the property to evaluate the loss function against for the training set
      */
@@ -218,6 +224,11 @@ public:
      */
     inline const std::vector<double> prop_project_copy() const {return _projection_prop;}
 
+    /**
+     * @brief The standardized property vector used for projection
+     */
+    inline const std::vector<double>& prop_project_std() const {return _projection_prop_std;}
+
     /**
      * @brief Pointer to the head of the value of the property to evaluate the loss function against for the training set
      */
@@ -243,6 +254,11 @@ public:
      */
     inline const double* prop_project_pointer() const {return _projection_prop.data();}
 
+    /**
+     * @brief Copy of the standardized property vector used for projection
+     */
+    inline const std::vector<double> prop_project_std_copy() const {return _projection_prop_std;}
+
     /**
      * @brief The error vector for the training set
      */
@@ -304,7 +320,6 @@ public:
      * @brief The number of classes in the calculation
      */
     virtual inline int n_class(){return 0;}
-
 };
 
 #endif
diff --git a/src/loss_function/LossFunctionConvexHull.cpp b/src/loss_function/LossFunctionConvexHull.cpp
index a28bff6fc1d878f35c668c4cb8db82c763260702..171bf68df920550477be24bdcfc73a43604be7e3 100644
--- a/src/loss_function/LossFunctionConvexHull.cpp
+++ b/src/loss_function/LossFunctionConvexHull.cpp
@@ -116,6 +116,27 @@ void LossFunctionConvexHull::prepare_project()
     for(int pp = 0; pp < _n_project_prop; ++pp)
     {
         _convex_hull[pp] = ConvexHull1D(_task_sizes_train, &_projection_prop[pp * _n_samp]);
+
+        int start = 0;
+        for(int tt = 0; tt < _n_task; ++tt)
+        {
+            double prop_mean = util_funcs::mean(
+                _projection_prop.data() + pp * _n_samp + start,
+                _task_sizes_train[tt]
+            );
+
+            double prop_std = util_funcs::stand_dev(
+                _projection_prop.data() + pp * _n_samp + start,
+                _task_sizes_train[tt]
+            );
+            std::transform(
+                _projection_prop.begin() + pp * _n_samp + start,
+                _projection_prop.begin() + pp * _n_samp + start + _task_sizes_train[tt],
+                _projection_prop_std.begin() + pp * _task_sizes_train[tt] + start * _n_project_prop,
+                [prop_mean, prop_std](double p){return (p - prop_mean) / prop_std;}
+            );
+            start += _task_sizes_train[tt];
+        }
     }
 }
 
diff --git a/src/loss_function/LossFunctionConvexHull.hpp b/src/loss_function/LossFunctionConvexHull.hpp
index 6c544406fcaf84405f74b32538b8f6b2b59c9510..b9424a9530b8c0dd5723631364e180862b05c6d2 100644
--- a/src/loss_function/LossFunctionConvexHull.hpp
+++ b/src/loss_function/LossFunctionConvexHull.hpp
@@ -162,7 +162,6 @@ public:
      * @brief The number of classes in the calculation
      */
     inline int n_class(){return _n_class;}
-
 };
 
 #endif
diff --git a/src/loss_function/LossFunctionPearsonRMSE.cpp b/src/loss_function/LossFunctionPearsonRMSE.cpp
index 79d2a00d888d5515fb6b0bfc525bd5aa18d68195..03383115e73aed0c479719cf2ab9e2adeed7404e 100644
--- a/src/loss_function/LossFunctionPearsonRMSE.cpp
+++ b/src/loss_function/LossFunctionPearsonRMSE.cpp
@@ -69,6 +69,7 @@ void LossFunctionPearsonRMSE::reset_projection_prop(const std::vector<std::vecto
 {
     _n_project_prop = models.size();
     _projection_prop.resize(_n_samp * _n_project_prop);
+    _projection_prop_std.resize(_n_samp * _n_project_prop);
     for(int mm = 0; mm < _n_project_prop; ++mm)
     {
         double loss = (*this)(models[mm]);
@@ -99,27 +100,24 @@ void LossFunctionPearsonRMSE::set_opt_lwork()
 
 void LossFunctionPearsonRMSE::prepare_project()
 {
-    std::vector<double> temp_prop(_projection_prop);
-
     for(int pp = 0; pp < _n_project_prop; ++pp)
     {
         int start = 0;
         for(int tt = 0; tt < _n_task; ++tt)
         {
             double prop_mean = util_funcs::mean(
-                temp_prop.data() + pp * _n_samp + start,
+                _projection_prop.data() + pp * _n_samp + start,
                 _task_sizes_train[tt]
             );
 
             double prop_std = util_funcs::stand_dev(
-                temp_prop.data() + pp * _n_samp + start,
+                _projection_prop.data() + pp * _n_samp + start,
                 _task_sizes_train[tt]
             );
-
             std::transform(
-                temp_prop.begin() + pp * _n_samp + start,
-                temp_prop.begin() + pp * _n_samp + start + _task_sizes_train[tt],
-                _projection_prop.begin() + pp * _task_sizes_train[tt] + start * _n_project_prop,
+                _projection_prop.begin() + pp * _n_samp + start,
+                _projection_prop.begin() + pp * _n_samp + start + _task_sizes_train[tt],
+                _projection_prop_std.begin() + pp * _task_sizes_train[tt] + start * _n_project_prop,
                 [prop_mean, prop_std](double p){return (p - prop_mean) / prop_std;}
             );
             start += _task_sizes_train[tt];
@@ -145,7 +143,7 @@ double LossFunctionPearsonRMSE::calc_max_pearson(double* feat_val_ptr)
             1,
             _task_sizes_train[tt],
             1.0 / feat_std / static_cast<double>(_task_sizes_train[tt]),
-            &_projection_prop[start * _n_project_prop],
+            &_projection_prop_std[start * _n_project_prop],
             _task_sizes_train[tt],
             feat_val_ptr + start,
             _task_sizes_train[tt],
diff --git a/tests/exec_test/reparam/check_model.py b/tests/exec_test/reparam/check_model.py
index c5333171fe1ec06b4c080da8ae8de18ed18dd322..e02eb0afbe88515eb350b3eaf8409f207c234079 100644
--- a/tests/exec_test/reparam/check_model.py
+++ b/tests/exec_test/reparam/check_model.py
@@ -4,7 +4,6 @@ from pathlib import Path
 import numpy as np
 
 model = ModelRegressor(
-    str("models/train_dim_2_model_0.dat"), str("models/test_dim_2_model_0.dat")
+    str("models/train_dim_2_model_0.dat")
 )
-assert model.rmse < 1e-3
-assert model.test_rmse < 1e-3
+assert model.rmse < 1e-5
diff --git a/tests/exec_test/reparam/data.csv b/tests/exec_test/reparam/data.csv
index 19bd47732fc7b57681d72ffeec5215b5f823bdac..cc8bb38c52ddfcecf61b37503c4a0228430b82ef 100644
--- a/tests/exec_test/reparam/data.csv
+++ b/tests/exec_test/reparam/data.csv
@@ -1,200 +1,200 @@
-Sample,Prop,A (m),B,C ,D (Unitless)
-1,727.118939908528,-26.9598915689615,16.4770933201292,-2.3456689341142,-44.347548060136
-2,4061.71941599051,-63.7344834181458,-0.473998625420511,-4.89234477177099,1.80584885776461
-3,5299.04050897752,-72.7950448428438,-0.041798823456847,-7.07837005584224,48.0928566759633
-4,1375.77566461643,-37.0913938631186,0.542538989935228,-5.67314711587992,-6.63267687110276
-5,120.602129063925,-11.001120431754,-0.485377837185949,-5.00603570699514,15.9117421465142
-6,341.757364891539,18.4763248591176,45.463422582209,-3.54317005919354,-14.7878213495168
-7,304.476105142188,-17.4403258467529,21.9523438691943,-6.35861222826073,-47.3766079570739
-8,2931.92999380806,-54.1451148162277,10.147801679562,-7.60672120838089,-22.3898912622486
-9,1921.95555585739,-43.8467983050434,-0.497153478218677,-2.25234722784919,43.9272285404933
-10,3907.42119504189,-62.5085507107758,2.28105625283137,-3.43022785454677,8.19384171276104
-11,166.877248480643,-12.90112483941,79.5189583527563,-4.30079724754646,-12.4087676815772
-12,205.095395730327,-14.3204344263206,0.728182848148043,-1.67196862061437,19.8996028130594
-13,3563.77318219706,-59.6968588654461,1.29003999054027,-5.44656566587949,-15.2272436669887
-14,3945.77318117953,-62.810861209267,295.084070008889,-5.40735078566055,-42.8531828927498
-15,5927.41275262953,-76.9929995375143,-0.493855829552637,-1.4315831772722,-23.8750759982545
-16,1888.25703070108,-43.4528362022336,2.44634915519088,-6.02764925690289,2.00530269634198
-17,5152.93096871797,-71.7800444129219,259.824249962042,-4.87847438811516,-1.14593805194346
-18,2.94147443019837,1.77903648082263,-0.393003986154435,-3.30485346593225,-31.1066062424722
-19,3041.79089923232,-55.1550772610619,-0.445876370492354,-2.98493082242597,11.4007261016967
-20,14.9050769170286,3.91891619301887,-0.489200679988903,-5.89212500915864,13.332244433362
-21,2236.07246678801,-47.2911803424441,-0.478349222990864,-1.48969943715326,-49.8357259223171
-22,43.9412846659196,-6.67172116893789,-0.496673341397219,-6.98473833216711,24.3378172389092
-23,198.981890427795,-14.0940878772357,29.0408297437264,-5.02795165977473,24.458688886489
-24,340.345389578719,18.4524777037321,-0.273596909044756,-4.03160675969822,-45.7650654495297
-25,31.0005079189483,-5.62128870102401,-0.497480733303151,-7.88745749841534,29.8635497822435
-26,5273.438106727,-72.6184893467069,0.43343615842018,-5.72249460051619,2.24766880043221
-27,117.569703499072,10.8174877144636,248.295298756743,-4.07722001869143,-44.1648618659459
-28,40.7631423786567,6.42828632159915,-0.496291866163785,-3.61371438533051,-36.5850314016794
-29,4820.82683295394,-69.436530178802,-0.49763955041834,-5.87286492489537,-43.9849567179791
-30,588.90340069208,-24.2686365786508,0.030886543934811,-5.26329667125282,-29.0983093347683
-31,3511.40403894796,-59.2619394123934,-0.496766660265218,-5.12016109436414,5.75915813790093
-32,52.2713678393477,7.20352530063482,44.4661877774354,-7.99605678100631,-19.5563042860325
-33,159.490205968011,12.6288219954758,0.531083041050068,-2.93209993389513,33.733737070524
-34,25.9996602693095,5.11720640360599,-0.344546880940562,-4.74718269758769,-43.284304200484
-35,190.365293747315,13.7862783611727,20.3682101543091,-6.58308111461873,-39.5586964516148
-36,5595.93420766635,-74.8066238254682,-0.120007965217726,-5.70401509554886,4.90691611925422
-37,1650.53476835268,-40.6205669665801,154.445998984365,-3.09079843604824,17.8669954108563
-38,35.4430195477034,-5.92487161906894,29.1409974656196,-3.44316474412239,-19.2637628682529
-39,86.7620418918003,9.30851852302476,2.61194515688744,-5.6473419999351,-2.63614370437764
-40,4954.87311146266,-70.3943965755962,-0.493123034576539,-4.76211439558765,27.7529260381853
-41,3980.67608068829,-63.093837937864,-0.290503953641989,-4.02071835875608,-10.0021344448853
-42,4661.68461965629,-68.2755606153041,3.26001603587903,-2.26361828777514,9.86622823185131
-43,96.3197455818231,-9.78367054387746,401.06230699025,-4.24735440947351,25.2777827117253
-44,1292.36574778388,-35.9559408271055,-0.490335827462934,-2.76562716567933,33.0110367114817
-45,2699.67562292752,-51.955532416585,19.2418819634039,-7.93032952624575,-37.7246791504005
-46,2579.35068127823,-50.7866432699566,1.46494937970502,-3.33474965791084,-32.641898315556
-47,344.809108889708,-18.5646811911955,4.53901985423472,-5.88059238472936,-42.5071616014547
-48,373.037808772813,19.3289803897382,-0.496709584204927,-7.82002765371011,26.3987049932634
-49,74.6146563446771,8.65080448547252,-0.39113198608151,-5.87551870334558,-27.9879144209769
-50,4327.73284580549,-65.7857361126348,0.239115736998907,-7.51279975590682,-31.2558626644226
-51,193.22200177049,-13.889527800167,20.201219028094,-3.48241903422821,6.67534002352448
-52,659.348935615868,-25.6846232941466,-0.470084587510066,-6.06742159260695,-10.7428299736182
-53,2152.60396391745,-46.389849089785,349.752192224117,-1.73354846107454,45.2227066819777
-54,2111.10247581623,-45.9448330787616,5.24248365745649,-3.93910535917686,11.443077037234
-55,1.36739710028255,1.21024970063709,-0.12207986021608,-5.6353088555368,22.0715445632689
-56,45.9284261527926,6.82015137032394,-0.497149855583102,-7.31727496920493,-20.5681946954325
-57,80.0409910378484,8.93502324443354,7.37353072583526,-6.34031949834672,-1.31396024522537
-58,2698.92606173825,-51.9509054197567,0.842962584360503,-3.95367000561231,-10.7220214875492
-59,223.173338902568,-14.9239411443508,88.9067538027111,-6.75057235340986,-44.5670983442402
-60,986.438087285111,-31.416557856837,-0.496376094142896,-2.41936247413012,-18.8843963170741
-61,3603.62585515515,-60.033076560273,-0.468071663261977,-5.23055650631282,-23.9353018345737
-62,2725.94117253617,-52.2120406857653,-0.289906027110049,-5.97771240402116,-46.9075094897443
-63,58.1825600691546,-7.60975121560017,15.0252085090386,-2.78441960890466,7.97132000366891
-64,900.060646307109,-30.0109652633393,-0.497455693859477,-2.87174725747444,41.5563304679875
-65,240.440369967361,15.5234123258985,-0.495297225968755,-6.95963559575148,19.023992883741
-66,130.720418025616,11.4466418568071,-0.452731809921819,-5.86878464024433,5.51701410010501
-67,798.915022613098,-28.2644698934095,0.915726145442695,-4.83119267608722,-13.9310642459825
-68,3166.34648080747,-56.2690045870611,3.78892400893538,-2.14800032699086,47.4127025417918
-69,1862.50555078432,-43.1632002022201,-0.496162787648307,-7.01453652131387,-46.2567154326572
-70,2225.06356376351,-47.1771065084369,-0.497883830044414,-1.60661352497764,-38.5981595172128
-71,4363.67954111128,-66.0540149800446,236.121371085305,-6.19620347378171,-23.9170134906467
-72,47.4330512347074,-6.85891697714553,48.0741430502517,-1.65386604219128,-33.8665151302642
-73,273.361492900149,16.5158104574122,362.708972278198,-2.42857733468406,24.6791000675707
-74,5698.3621224726,-75.4835322367884,396.857072452073,-2.12354307871309,46.6747044684097
-75,6.93822007640483,-2.56841533011229,29.9056268334466,-3.2934374528907,30.549085663698
-76,3804.12058111338,-61.6766293536255,2.62591452640418,-4.54238642583241,-38.5971464888276
-77,134.316567729976,-11.5723032332386,53.2130548753723,-5.56153622028371,12.3936081168232
-78,277.715236014706,16.6491893365343,180.284282189547,-5.58878933240212,-3.94425294613453
-79,2061.79596051702,-45.409836204165,-0.423665915287556,-6.04367749499791,-17.6757195025452
-80,1561.24736538265,-39.5132873144389,0.091502063189858,-1.45277556561637,24.2040229161337
-81,34.0596998102802,5.86003773869783,-0.439397848717482,-2.23036190221381,-6.73321698527632
-82,2510.6583057027,-50.1081985824405,-0.323175001743296,-4.63455457225095,-24.1915568326123
-83,5434.36557769286,-73.7200587656617,-0.440087325236099,-3.55829477285746,11.8636293616561
-84,349.683203403743,-18.702078055099,-0.070529297414911,-3.21604886152984,-18.8030480996723
-85,1707.69027357697,-41.3278643201009,-0.451245454115031,-5.99995173374799,7.23178224244262
-86,18.1838163310785,4.32102167924892,-0.492358185581036,-5.70722855516919,-25.9853423656035
-87,62.3089597870843,-7.89579168858238,0.207748818743325,-4.59158145901213,18.8843752486005
-88,585.053895669179,-24.1840519644013,5.89337643977028,-6.31738877363181,-39.545785321285
-89,659.90151546788,-25.6857212498618,3.77333017085669,-1.82286323533721,14.5858684182696
-90,2410.56011326419,-49.1007606547447,-0.461064003773782,-2.41698107113692,-5.76452344036105
-91,2921.73290300668,-54.0537986772741,-0.051785947968437,-5.80921192537188,16.2062779607103
-92,3109.93452254675,-55.7673374815322,0.041142667821485,-7.61725050011638,-10.0557542574519
-93,227.411819890352,-15.0617323836765,259.420269606632,-2.2703256277641,-18.5905317905508
-94,1867.21892320968,-43.2127870741805,-0.216469361060176,-6.12158829671141,-19.8709477409517
-95,5699.39516510841,-75.4966175565072,-0.467966519292414,-7.54123138852082,20.9077422324457
-96,290.202417629196,-17.0276183617925,13.3226084269137,-2.08580113689997,47.2792952472548
-97,3695.78925952401,-60.7934359649989,0.090982386990098,-3.04091195810171,-7.64062716861136
-98,5688.83043824682,-75.4236464811022,2.32892676678235,-6.51472539028649,-15.6475137662788
-99,2992.642878234,-54.7106879317446,-0.497898191905685,-2.35274267919398,29.2605946788015
-100,989.267834468171,-31.4470701142083,32.4884335775792,-4.35392293427778,-36.7846960600504
-101,1899.92448558932,-43.5832066780196,72.1615605126635,-1.65340984784069,-0.185767759183975
-102,979.619493391994,-31.2961341604768,5.05556436786726,-4.1887716494893,-41.2570400474365
-103,1574.0642011217,-39.669540069504,49.795618058032,-2.09671656243407,15.2097207002341
-104,4724.37194110142,-68.7382726486335,-0.496917012438291,-3.07658993169754,-22.7964913357467
-105,2175.06939879858,-46.6408752377136,-0.451122661430972,-4.88687519160418,-40.0520171310077
-106,3491.40218254105,-59.0856505796252,17.3281957490917,-4.87613034856812,-2.84184207378766
-107,0.886952180829067,0.99516304638658,-0.144408642860048,-4.31632665709326,-34.0420098413868
-108,1215.36781550186,-34.8685562807829,-0.488712011042624,-4.12892511649074,16.6969910270682
-109,379.710664287565,19.4891331200602,-0.185400487713524,-3.68146314555071,-35.3067445989357
-110,2.98511787558458,-1.88822533937767,-0.496980821688295,-7.90421518219377,-48.8860551153697
-111,199.430928540483,14.1380244400304,-0.489198445976491,-3.3984085008333,-33.5717844654845
-112,1180.61862245606,-34.3623602661506,-0.283855053275166,-7.13477700249137,-15.399187347615
-113,3770.71972756117,-61.4012210435464,444.386515035363,-5.25859640791155,41.7692170340535
-114,180.612191910722,-13.4194423080587,201.365273913345,-2.33176731297801,19.4153752835369
-115,3404.07028050788,-58.3448857005669,0.074606946410731,-5.33740122822168,-30.1412507886228
-116,2624.23016638862,-51.2213511900404,416.666970993708,-1.94522330346958,9.26728796673105
-117,1424.02657543374,-37.7322290284518,20.7143912093735,-6.71043958378988,-8.33671639342791
-118,131.103968712495,11.4611946675192,-0.421929650550317,-2.2522108971003,-25.9260914395905
-119,3229.71826581323,-56.8288336135006,7.03349760173323,-1.49927838234687,-0.791847301150289
-120,366.09787973306,19.1441244058617,-0.481614543609921,-1.44284832839425,-30.0047691072164
-121,4141.10977850684,-64.3520862004493,-0.056118849849309,-6.69158253407763,17.3262223314447
-122,12.5819279402761,3.6291958906162,-0.497236752669632,-3.18974587324306,49.9165426319515
-123,4636.00047143652,-68.0890665063311,-0.200326781773338,-2.7843544422723,11.356336523518
-124,-0.541681781663468,-0.03986491591472,-0.495628766008611,-5.08976431577769,35.1504145643644
-125,1537.47166486813,-39.2030697053123,368.171308993572,-6.55459610762837,45.2961662340095
-126,497.408449283902,-22.2993020682629,3.96275158307667,-3.00296673932356,-39.9924408622542
-127,691.072174615786,-26.276537455132,471.764801457238,-4.86235261212403,15.3356886667449
-128,385.986127964809,-19.6525068195878,-0.404531916482237,-5.70827709662873,-32.6369510009034
-129,423.86896132636,-20.5816480004248,13.6154385315001,-7.73089443430312,-29.0967438066763
-130,1298.38869025377,-36.0279261115311,42.980108527344,-4.55299865372591,-37.0625398905495
-131,20.8413888211178,-4.56616804634005,0.418495693471633,-5.64575793292945,-22.9826840284982
-132,5323.34631127605,-72.9652412434823,-0.496976029074175,-3.25644958325088,-44.0530723759284
-133,123.213304227256,-11.0756331150067,229.149283367814,-4.34485228940315,-28.7479247882604
-134,137.086727714487,11.7327801342422,-0.496700616479115,-7.57820562812251,-49.1016126374255
-135,6002.9608765017,-77.478375790133,1.36193123292372,-5.34585428475751,29.3489743252839
-136,260.09483215086,16.133734695001,-0.368089363013755,-6.28682745418137,32.3609017455856
-137,572.575216544238,-23.9358831695317,-0.470188635894022,-7.51292296284087,-32.9506740264378
-138,5799.384361479,-76.1542692325353,-0.086711186730361,-5.28542445269072,27.7861610902532
-139,196.301858419301,13.992909122283,148.437558598205,-5.51366789564913,12.6980971652698
-140,668.414347501324,-25.8458632692668,57.3002832907674,-3.08339476592921,-7.37760993821234
-141,49.2978263996808,-7.04432340186688,-0.461095988258968,-2.88200643578584,49.6085415774666
-142,1501.7900235203,-38.7498577179414,10.3645326218017,-2.91762623451623,-47.4155232307921
-143,192.734366241125,-13.8816226585557,0.917912991161896,-3.49050579636698,-35.6224457233954
-144,12.2658102651698,3.53143032766324,-0.371509324270874,-7.03011821724418,1.21161131015394
-145,353.649768526282,18.8122590603734,-0.418993370598105,-6.14798037645281,-25.0771629156771
-146,2059.95355881619,-45.3876994246683,-0.092209810577898,-2.79777883290398,-0.853483451876269
-147,99.400689501916,9.99205418108014,-0.487778670782909,-3.49311416012508,21.0171256311828
-148,226.675085185607,15.0422808688224,56.8237194838239,-2.64721026358376,-27.2278798040954
-149,1196.6847234568,-34.5864321336299,102.461715619825,-3.52893656424693,49.5218992208287
-150,31.7086413345147,-5.59124787191003,86.4980490563059,-4.76372343793376,31.7807673388218
-151,100.030213016967,10.0066790715896,-0.144464525900901,-5.56832131334509,-12.8574842512773
-152,4655.85713853655,-68.2309353153849,52.2754036963755,-4.92032582476456,-11.5622021238651
-153,1161.33564666774,-34.0749980077669,9.48989801791842,-3.83226401506356,34.9039679881372
-154,88.4573274221266,-9.40065364833522,1.84054559321013,-4.43433590851494,-1.8055105618341
-155,3343.83621823161,-57.829383681368,-0.481938765044759,-5.61197379728001,-12.4561765493944
-156,1384.23114476494,-37.2033227674863,3.71731315316413,-3.88978463305878,2.67458671547165
-157,1183.58687224275,-34.4091686838208,-0.482405566208497,-3.90279531883483,15.911675534846
-158,64.6856222477585,8.03154400480111,5.5449998969451,-7.50549951967315,-29.5014377342349
-159,3527.95519324554,-59.4002320137843,-0.486749241178061,-3.73141206139273,-47.8326545592386
-160,1459.85057436967,-38.2147900954803,-0.49446175003812,-5.57131405422011,38.0204594133977
-161,4389.55800424322,-66.2569615714253,-0.486011564704861,-7.99486733240653,19.8030175200339
-162,4927.18883200205,-70.1953003392248,-0.352448368336671,-1.64541651154446,29.9566568037513
-163,1996.27917748949,-44.6747579070491,85.284158834146,-3.8510697854708,49.1782649711897
-164,4843.01343134768,-69.5895625336738,20.874042016146,-2.28255417481995,34.3085911428995
-165,3756.18637535125,-61.2913139101584,-0.487572640470121,-7.68537764083691,-41.1416870546773
-166,701.232346648895,-26.483354252606,-0.242583067020683,-6.11042237454046,-33.94234748613
-167,474.528349605384,-21.7903008868779,-0.44434767108865,-3.03465245711155,30.9044847088009
-168,-0.025454589203122,0.073745029251427,0.23423276256698,-1.93475914620777,23.2408437170182
-169,549.961998535782,-23.4508961529066,0.690867000534513,-3.01420494653357,-41.3032597144636
-170,2867.55152377784,-53.5509190800047,-0.275550682323061,-7.14588972174864,17.1468342163848
-171,2532.64099250005,-50.3210224219694,77.5187417778993,-6.95132062918625,-45.0098058198204
-172,390.70914052993,-19.7673220482605,0.184679593295579,-6.01708273481942,-11.5710331447624
-173,3938.14678738956,-62.7529435847603,8.07274834139756,-2.17523738723104,-4.79179895222981
-174,1.1481088115457,-1.0056443961041,3.4270228776115,-4.62101358376104,-15.6920277652284
-175,83.5422772359129,9.11685360583391,69.7862125868159,-6.43013760515447,-8.02094456185238
-176,259.144318084694,-16.0788172577744,472.708813808054,-4.37348452914986,-43.3390418590448
-177,3689.80750194221,-60.7472746089456,-0.485573734262362,-1.43331258152053,32.2520657836497
-178,5260.11663949437,-72.5231127207473,171.519506718457,-5.40439349655734,36.7072086474724
-179,519.223416858943,-22.7981731659259,-0.495169611819957,-4.60544989470716,11.9859491180679
-180,387.237646644648,19.6660668196227,125.291390991448,-7.23510922520872,23.6032842669287
-181,555.354375273459,-23.5629038821836,3.71799174243363,-1.75822155015244,43.0319981537978
-182,1488.4304816389,-38.5783469113112,3.62189205349538,-4.2602267746444,20.8127537359242
-183,2612.12408699515,-51.1063404093681,13.8044341467259,-2.28920960539554,-19.5461471819212
-184,334.001931252976,18.2706603166669,5.85364370083153,-2.03830045830456,-30.93321069934
-185,4387.31281460776,-66.2343361416717,25.4275159855127,-4.35973942715806,-39.3283508835272
-186,2143.17770158481,-46.2997114836124,-0.49221704201524,-2.59961744074765,22.8599617048399
-187,300.830750680389,-17.3439604506534,0.694664825872767,-3.8673543572576,38.6562881703084
-188,2940.27086281968,-54.2199534414422,106.745036306538,-3.02812650312015,49.7409316922086
-189,6085.56648774362,-78.0130202992036,-0.490423897465248,-6.45209495686053,35.398069725534
-190,4442.82683841434,-66.6516093801645,48.8064292375437,-1.44337467515737,5.77066399128683
-191,1198.72029714792,-34.6165007490255,64.9790606216099,-6.06162736248712,36.797785599177
-192,715.115457626605,-26.7403148978951,1.53433275406045,-5.00637057608409,44.1033334580734
-193,201.662785258773,14.2157848317953,-0.485842790102652,-5.09133832098407,21.1443244384268
-194,5041.15495132377,-71.0047453498791,-0.494423025054532,-4.95882313981698,-35.3243342936784
-195,253.2407210479,15.9027257474234,30.6978287601461,-6.53857383673753,49.5396591932987
-196,4922.98620339748,-70.160217182373,200.094046645895,-6.83886505647139,1.76192954250076
-197,379.507528382537,-19.4945251532755,-0.49495736084227,-5.25629343542096,14.4465537360302
-198,5163.55722322911,-71.8615847922921,-0.495015670094684,-5.43472132756901,-37.1812519856081
-199,453.869051802097,-21.3140043260099,-0.484659916974663,-6.61214970062417,-24.4760444892339
+Sample,Prop,A,B
+1,1052.00233422229,-26.9598915689615,6.20309137842541
+2,4371.49628958135,-63.7344834181458,-2.07120000760519
+3,5577.84794747112,-72.7950448428438,-5.35175942360518
+4,1691.1715045791,-37.0913938631186,5.68031092322494
+5,218.833409804625,-11.001120431754,4.2048615736526
+6,633.194959646112,18.4763248591176,6.17566186571887
+7,697.642291894055,-17.4403258467529,6.92812647427557
+8,2948.97628267587,-54.1451148162277,-6.19756109936816
+9,2249.25241059762,-43.8467983050434,5.36900839121948
+10,4397.88781266859,-62.5085507107758,5.46985716094317
+11,287.687759319659,-12.90112483941,4.51695259448722
+12,316.044698035476,-14.3204344263206,4.31361019159238
+13,3843.72511522851,-59.6968588654461,1.23276583113066
+14,4257.38194302416,-62.810861209267,1.54689699700947
+15,6334.253925868,-76.9929995375143,-4.03016563971121
+16,2286.53288181738,-43.4528362022336,6.06430752912011
+17,5629.56362306806,-71.7800444129219,4.0055528372609
+18,83.2295600051812,1.77903648082263,4.05561380769476
+19,3325.22666254028,-55.1550772610619,3.3563357705763
+20,156.96174494603,3.91891619301887,4.94757258787117
+21,2630.96022078008,-47.2911803424441,5.79435935916502
+22,472.484928902339,-6.67172116893789,7.26562002978181
+23,628.722467071999,-14.0940878772357,7.2069561460293
+24,637.756546534934,18.4524777037321,6.21984544170837
+25,164.703912166199,-5.62128870102401,4.82424056438207
+26,5581.03743720886,-72.6184893467069,-4.92128310616193
+27,233.078543209301,10.8174877144636,4.49706215680815
+28,269.064737240481,6.42828632159915,5.82798957027128
+29,5247.19546567351,-69.436530178802,3.46670333009828
+30,677.587972192927,-24.2686365786508,3.25022879358702
+31,3633.68998298433,-59.2619394123934,-5.57530696788716
+32,152.588491561582,7.20352530063482,4.33945272208388
+33,304.984140359693,12.6288219954758,4.85589577512029
+34,36.6348213098156,5.11720640360599,1.78404138767965
+35,436.444377844443,13.7862783611727,5.89130488963502
+36,5750.17983692783,-74.8066238254682,-6.79545197302518
+37,2094.45352560741,-40.6205669665801,6.56333441142877
+38,147.790372824609,-5.92487161906894,4.54084137161217
+39,245.996666987969,9.30851852302476,5.09404052158133
+40,5343.15303906939,-70.3943965755962,1.18563361394154
+41,4467.75534620733,-63.093837937864,5.37291203149488
+42,4827.30262519124,-68.2755606153041,-6.06130670169955
+43,232.83836640407,-9.78367054387746,4.81169871034718
+44,1638.91786368219,-35.9559408271055,6.01319272477161
+45,3004.130680277,-51.955532416585,4.31491433634095
+46,2899.88701443074,-50.7866432699566,4.68656532904279
+47,743.291230416591,-18.5646811911955,6.9411883920925
+48,849.887843952986,19.3289803897382,7.39753609011762
+49,320.697989982805,8.65080448547252,5.96489604486524
+50,4786.77325154449,-65.7857361126348,4.72218888584055
+51,580.013350094908,-13.889527800167,6.94269262242959
+52,790.301306077083,-25.6846232941466,4.04753981057489
+53,2639.31299006254,-46.389849089785,6.59114304749694
+54,2529.23456493816,-45.9448330787616,6.08615676832293
+55,218.528501182286,1.21024970063709,5.7587839043402
+56,102.85175114182,6.82015137032394,3.49977958604301
+57,98.1890265822661,8.93502324443354,2.04921876907686
+58,3130.40886660874,-51.9509054197567,5.80433974737791
+59,357.854902006621,-14.9239411443508,4.65257579553207
+60,1270.26516902747,-31.416557856837,5.66182950995689
+61,3954.06850125917,-60.033076560273,3.87563602766626
+62,3108.31509869172,-52.2120406857653,5.29524959724945
+63,79.8726415057673,-7.60975121560017,2.34462882567642
+64,1205.71009861928,-30.0109652633393,5.92195946506532
+65,541.236564148688,15.5234123258985,6.30415543102122
+66,585.715705703022,11.4466418568071,7.38183174443396
+67,1155.39988989893,-28.2644698934095,6.40301931832396
+68,3387.31422429564,-56.2690045870611,-3.16489568909402
+69,2189.64918981506,-43.1632002022201,5.41607643231959
+70,2475.89251675601,-47.1771065084369,4.01115806304705
+71,4834.77677391605,-66.0540149800446,4.85207155106912
+72,342.528746483897,-6.85891697714553,6.38300436770026
+73,650.708719137237,16.5158104574122,6.84234021019956
+74,5947.66678699085,-75.4835322367884,-6.02472622750375
+75,395.187879280987,-2.56841533011229,7.04412696145218
+76,3939.01749538613,-61.6766293536255,-5.68335304418137
+77,341.095784378799,-11.5723032332386,5.56645932478254
+78,523.001059184589,16.6491893365343,5.82569987566845
+79,2431.60044712179,-45.409836204165,5.68837636926732
+80,1939.01373373761,-39.5132873144389,6.1034611758802
+81,191.930782192942,5.86003773869783,5.12080689791401
+82,2832.37227327965,-50.1081985824405,4.77064964515006
+83,5909.49629601525,-73.7200587656617,3.50171265693252
+84,672.15890407407,-18.702078055099,6.40865230721314
+85,2037.24835588279,-41.3278643201009,5.5648756901726
+86,216.515211584561,4.32102167924892,5.56267558043512
+87,474.862486861938,-7.89579168858238,7.16490483392694
+88,710.986921377433,-24.1840519644013,4.0713822084246
+89,967.970852191141,-25.6857212498618,6.10769109641322
+90,2877.22081792368,-49.1007606547447,6.28521082722151
+91,3206.46349491423,-54.0537986772741,3.6152813743562
+92,3267.77633202847,-55.7673374815322,-4.62490789885554
+93,458.047087729138,-15.0617323836765,5.72745419459021
+94,2292.91309984418,-43.2127870741805,6.29644670618342
+95,5918.62096137796,-75.4966175565072,-6.32089368622665
+96,755.972175216695,-17.0276183617925,7.37611234304879
+97,4009.61460487708,-60.7934359649989,2.74115588610843
+98,5809.56734039514,-75.4236464811022,-7.09654428017805
+99,3330.85902527185,-54.7106879317446,4.46993649630659
+100,1234.13889141749,-31.4470701142083,5.27248086984354
+101,2196.24871973015,-43.5832066780196,5.05433014634953
+102,1369.80366067869,-31.2961341604768,6.54900431568322
+103,1716.23065859536,-39.669540069504,2.48017631835462
+104,4836.75339571112,-68.7382726486335,-6.59236849918175
+105,2487.57592893521,-46.6408752377136,4.98261316030784
+106,3913.40492263418,-59.0856505796252,5.07717363106205
+107,161.276806697414,0.99516304638658,5.18120421245594
+108,1445.98631993368,-34.8685562807829,4.88944205656418
+109,733.399646418029,19.4891331200602,6.61882860403088
+110,411.000186118061,-1.88822533937767,7.16175336134506
+111,603.265824987431,14.1380244400304,7.04275295570392
+112,1346.02292894135,-34.3623602661506,3.93990434191016
+113,3917.76102677697,-61.4012210435464,-5.50512423996943
+114,649.344881143125,-13.4194423080587,7.44294190409633
+115,3817.36685782506,-58.3448857005669,5.05008735202479
+116,3088.07779745063,-51.2213511900404,6.13827583510343
+117,1685.69963655783,-37.7322290284518,5.07995407531594
+118,443.988302336616,11.4611946675192,6.46234283374064
+119,3412.11780803484,-56.8288336135006,-4.33556409714628
+120,377.521452451852,19.1441244058617,-2.84314888891916
+121,4361.17474608258,-64.3520862004493,-4.91639542713793
+122,115.627130132655,3.6291958906162,4.41365864133484
+123,4697.44085035487,-68.0890665063311,-6.9347275448216
+124,19.3386439875286,-0.03986491591472,2.4340824467087
+125,1946.49315523071,-39.2030697053123,6.37109682689095
+126,711.719581617268,-22.2993020682629,5.35242978951016
+127,1163.53596472028,-26.276537455132,7.23566291150618
+128,509.368706775951,-19.6525068195878,4.28316435049899
+129,580.491272941079,-20.5816480004248,4.73650867475376
+130,1424.35498364231,-36.0279261115311,2.69503035887966
+131,204.96283910418,-4.56616804634005,5.42217165790203
+132,5354.01098355414,-72.9652412434823,-7.51444018193394
+133,263.825519349313,-11.0756331150067,4.83687666738926
+134,327.954063713436,11.7327801342422,5.39209048769379
+135,6239.71709353984,-77.478375790133,-6.37117827570423
+136,715.975323066471,16.133734695001,7.32967684642208
+137,942.515068622188,-23.9358831695317,6.6260238413758
+138,6154.43386742886,-76.1542692325353,-4.81950484817665
+139,387.119060921603,13.992909122283,5.35526765133811
+140,824.810503790244,-25.8458632692668,4.46658234665906
+141,117.172951648073,-7.04432340186688,3.74367515812841
+142,1507.66059326343,-38.7498577179414,-5.04863993007914
+143,510.528102941699,-13.8816226585557,6.4655652514649
+144,100.044875233336,3.53143032766324,4.17433835237583
+145,689.277414700175,18.8122590603734,6.50253241442298
+146,2496.04011656196,-45.3876994246683,6.26097547860195
+147,127.1545860245,9.99205418108014,2.44436403113535
+148,481.476335450749,15.0422808688224,5.94398029611013
+149,1353.88561282837,-34.5864321336299,3.76594567553051
+150,184.346721811444,-5.59124787191003,5.07103810451157
+151,396.310896560675,10.0066790715896,6.35691894888776
+152,4726.58063962337,-68.2309353153849,-6.87224341591423
+153,1404.45424812932,-34.0749980077669,5.10057665264805
+154,566.707172420212,-9.40065364833522,7.53308898405865
+155,3418.12692986761,-57.829383681368,-5.95639194961225
+156,1748.65198723494,-37.2033227674863,6.10851780345336
+157,1609.28274603409,-34.4091686838208,6.68369893556057
+158,157.743263692574,8.03154400480111,4.20180158265328
+159,3778.95541512035,-59.4002320137843,-3.11184085540226
+160,1931.20810938692,-38.2147900954803,6.84681028359785
+161,4855.7889457842,-66.2569615714253,4.74850018674578
+162,5099.01284357976,-70.1953003392248,-6.20349889837352
+163,2375.04479583692,-44.6747579070491,5.82515456113494
+164,5023.35401756607,-69.5895625336738,-6.05311998462936
+165,4134.51675557401,-61.2913139101584,4.16674853910934
+166,1002.60914469393,-26.483354252606,6.02239465549858
+167,665.160532689007,-21.7903008868779,5.10395316321703
+168,385.541470832298,0.073745029251427,7.0281583350019
+169,623.836895865029,-23.4508961529066,2.89761387202618
+170,3027.86117006423,-53.5509190800047,-4.21932840133027
+171,2932.45589922986,-50.3210224219694,5.63296518357781
+172,436.262247264762,-19.7673220482605,2.22553110861098
+173,4180.7332766444,-62.7529435847603,-4.22926064010545
+174,281.47584107678,-1.0056443961041,6.29513737744718
+175,295.681038149373,9.11685360583391,5.65698527339348
+176,576.372718565075,-16.0788172577744,6.42768336379429
+177,3827.5376605931,-60.7472746089456,-5.55464586574755
+178,5522.03789345077,-72.5231127207473,-5.51579295700968
+179,666.750243769772,-22.7981731659259,4.49198682795435
+180,475.7199236432,19.6660668196227,3.64148420380852
+181,1037.75730052679,-23.5629038821836,7.35262176775161
+182,1638.83866543962,-38.5783469113112,3.02021318149191
+183,3062.92052340059,-51.1063404093681,6.03471497049776
+184,708.572407562753,18.2706603166669,6.78944999627806
+185,4458.19058097416,-66.2343361416717,-6.70915493384912
+186,2233.74492942902,-46.2997114836124,-4.49306530292615
+187,791.18800628126,-17.3439604506534,7.50848299425606
+188,3075.06188384565,-54.2199534414422,-4.78130499830748
+189,6545.06377282888,-78.0130202992036,-2.63668460170823
+190,4937.15195710577,-66.6516093801645,5.06004587484896
+191,1291.93843627659,-34.6165007490255,0.583399526789241
+192,865.622239307848,-26.7403148978951,4.31368766951858
+193,319.013663810122,14.2157848317953,4.41056303292506
+194,5388.66087091134,-71.0047453498791,-3.79468263473337
+195,596.450670170539,15.9027257474234,6.61768189284391
+196,5328.05689241693,-70.160217182373,2.60756098062811
+197,788.711844540188,-19.4945251532755,6.9878316416505
+198,5185.03340019114,-71.8615847922921,-7.49369949325242
+199,953.830929960376,-21.3140043260099,7.49322822311989
diff --git a/tests/exec_test/reparam/sisso.json b/tests/exec_test/reparam/sisso.json
index 4a19c4e7d3b81cbd0ae3a19391e82facbd87d0c8..eab9101fae15be0be9ffcab07f5fdaf82b40cb1b 100644
--- a/tests/exec_test/reparam/sisso.json
+++ b/tests/exec_test/reparam/sisso.json
@@ -1,16 +1,18 @@
 {
     "desc_dim": 2,
-    "n_sis_select": 10,
-    "max_rung": 1,
-    "n_residual": 1,
+    "n_sis_select": 5,
+    "max_rung": 2,
+    "n_residual": 5,
     "data_file": "data.csv",
     "data_file_relatice_to_json": true,
     "property_key": "Prop",
-    "leave_out_frac": 0.05,
-    "n_rung_generate": 1,
+    "leave_out_frac": 0.00,
+    "n_models_store": 5,
+    "n_rung_generate": 0,
     "leave_out_inds": [],
-    "opset": ["add", "sub", "abs_diff", "mult", "div", "inv", "abs", "sq", "cb", "six_pow", "sqrt", "cbrt"],
-    "param_opset": ["log"],
+    "opset": ["sq"],
+    "param_opset": ["cb", "mult", "div"],
     "fix_intercept": true,
-    "reparam_residual": true
+    "reparam_residual": true,
+    "global_param_opt": false
 }
diff --git a/tests/exec_test/reparam_gen_proj/check_model.py b/tests/exec_test/reparam_gen_proj/check_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..e02eb0afbe88515eb350b3eaf8409f207c234079
--- /dev/null
+++ b/tests/exec_test/reparam_gen_proj/check_model.py
@@ -0,0 +1,9 @@
+from sissopp import ModelRegressor
+from pathlib import Path
+
+import numpy as np
+
+model = ModelRegressor(
+    str("models/train_dim_2_model_0.dat")
+)
+assert model.rmse < 1e-5
diff --git a/tests/exec_test/reparam_gen_proj/data.csv b/tests/exec_test/reparam_gen_proj/data.csv
new file mode 100644
index 0000000000000000000000000000000000000000..cc8bb38c52ddfcecf61b37503c4a0228430b82ef
--- /dev/null
+++ b/tests/exec_test/reparam_gen_proj/data.csv
@@ -0,0 +1,200 @@
+Sample,Prop,A,B
+1,1052.00233422229,-26.9598915689615,6.20309137842541
+2,4371.49628958135,-63.7344834181458,-2.07120000760519
+3,5577.84794747112,-72.7950448428438,-5.35175942360518
+4,1691.1715045791,-37.0913938631186,5.68031092322494
+5,218.833409804625,-11.001120431754,4.2048615736526
+6,633.194959646112,18.4763248591176,6.17566186571887
+7,697.642291894055,-17.4403258467529,6.92812647427557
+8,2948.97628267587,-54.1451148162277,-6.19756109936816
+9,2249.25241059762,-43.8467983050434,5.36900839121948
+10,4397.88781266859,-62.5085507107758,5.46985716094317
+11,287.687759319659,-12.90112483941,4.51695259448722
+12,316.044698035476,-14.3204344263206,4.31361019159238
+13,3843.72511522851,-59.6968588654461,1.23276583113066
+14,4257.38194302416,-62.810861209267,1.54689699700947
+15,6334.253925868,-76.9929995375143,-4.03016563971121
+16,2286.53288181738,-43.4528362022336,6.06430752912011
+17,5629.56362306806,-71.7800444129219,4.0055528372609
+18,83.2295600051812,1.77903648082263,4.05561380769476
+19,3325.22666254028,-55.1550772610619,3.3563357705763
+20,156.96174494603,3.91891619301887,4.94757258787117
+21,2630.96022078008,-47.2911803424441,5.79435935916502
+22,472.484928902339,-6.67172116893789,7.26562002978181
+23,628.722467071999,-14.0940878772357,7.2069561460293
+24,637.756546534934,18.4524777037321,6.21984544170837
+25,164.703912166199,-5.62128870102401,4.82424056438207
+26,5581.03743720886,-72.6184893467069,-4.92128310616193
+27,233.078543209301,10.8174877144636,4.49706215680815
+28,269.064737240481,6.42828632159915,5.82798957027128
+29,5247.19546567351,-69.436530178802,3.46670333009828
+30,677.587972192927,-24.2686365786508,3.25022879358702
+31,3633.68998298433,-59.2619394123934,-5.57530696788716
+32,152.588491561582,7.20352530063482,4.33945272208388
+33,304.984140359693,12.6288219954758,4.85589577512029
+34,36.6348213098156,5.11720640360599,1.78404138767965
+35,436.444377844443,13.7862783611727,5.89130488963502
+36,5750.17983692783,-74.8066238254682,-6.79545197302518
+37,2094.45352560741,-40.6205669665801,6.56333441142877
+38,147.790372824609,-5.92487161906894,4.54084137161217
+39,245.996666987969,9.30851852302476,5.09404052158133
+40,5343.15303906939,-70.3943965755962,1.18563361394154
+41,4467.75534620733,-63.093837937864,5.37291203149488
+42,4827.30262519124,-68.2755606153041,-6.06130670169955
+43,232.83836640407,-9.78367054387746,4.81169871034718
+44,1638.91786368219,-35.9559408271055,6.01319272477161
+45,3004.130680277,-51.955532416585,4.31491433634095
+46,2899.88701443074,-50.7866432699566,4.68656532904279
+47,743.291230416591,-18.5646811911955,6.9411883920925
+48,849.887843952986,19.3289803897382,7.39753609011762
+49,320.697989982805,8.65080448547252,5.96489604486524
+50,4786.77325154449,-65.7857361126348,4.72218888584055
+51,580.013350094908,-13.889527800167,6.94269262242959
+52,790.301306077083,-25.6846232941466,4.04753981057489
+53,2639.31299006254,-46.389849089785,6.59114304749694
+54,2529.23456493816,-45.9448330787616,6.08615676832293
+55,218.528501182286,1.21024970063709,5.7587839043402
+56,102.85175114182,6.82015137032394,3.49977958604301
+57,98.1890265822661,8.93502324443354,2.04921876907686
+58,3130.40886660874,-51.9509054197567,5.80433974737791
+59,357.854902006621,-14.9239411443508,4.65257579553207
+60,1270.26516902747,-31.416557856837,5.66182950995689
+61,3954.06850125917,-60.033076560273,3.87563602766626
+62,3108.31509869172,-52.2120406857653,5.29524959724945
+63,79.8726415057673,-7.60975121560017,2.34462882567642
+64,1205.71009861928,-30.0109652633393,5.92195946506532
+65,541.236564148688,15.5234123258985,6.30415543102122
+66,585.715705703022,11.4466418568071,7.38183174443396
+67,1155.39988989893,-28.2644698934095,6.40301931832396
+68,3387.31422429564,-56.2690045870611,-3.16489568909402
+69,2189.64918981506,-43.1632002022201,5.41607643231959
+70,2475.89251675601,-47.1771065084369,4.01115806304705
+71,4834.77677391605,-66.0540149800446,4.85207155106912
+72,342.528746483897,-6.85891697714553,6.38300436770026
+73,650.708719137237,16.5158104574122,6.84234021019956
+74,5947.66678699085,-75.4835322367884,-6.02472622750375
+75,395.187879280987,-2.56841533011229,7.04412696145218
+76,3939.01749538613,-61.6766293536255,-5.68335304418137
+77,341.095784378799,-11.5723032332386,5.56645932478254
+78,523.001059184589,16.6491893365343,5.82569987566845
+79,2431.60044712179,-45.409836204165,5.68837636926732
+80,1939.01373373761,-39.5132873144389,6.1034611758802
+81,191.930782192942,5.86003773869783,5.12080689791401
+82,2832.37227327965,-50.1081985824405,4.77064964515006
+83,5909.49629601525,-73.7200587656617,3.50171265693252
+84,672.15890407407,-18.702078055099,6.40865230721314
+85,2037.24835588279,-41.3278643201009,5.5648756901726
+86,216.515211584561,4.32102167924892,5.56267558043512
+87,474.862486861938,-7.89579168858238,7.16490483392694
+88,710.986921377433,-24.1840519644013,4.0713822084246
+89,967.970852191141,-25.6857212498618,6.10769109641322
+90,2877.22081792368,-49.1007606547447,6.28521082722151
+91,3206.46349491423,-54.0537986772741,3.6152813743562
+92,3267.77633202847,-55.7673374815322,-4.62490789885554
+93,458.047087729138,-15.0617323836765,5.72745419459021
+94,2292.91309984418,-43.2127870741805,6.29644670618342
+95,5918.62096137796,-75.4966175565072,-6.32089368622665
+96,755.972175216695,-17.0276183617925,7.37611234304879
+97,4009.61460487708,-60.7934359649989,2.74115588610843
+98,5809.56734039514,-75.4236464811022,-7.09654428017805
+99,3330.85902527185,-54.7106879317446,4.46993649630659
+100,1234.13889141749,-31.4470701142083,5.27248086984354
+101,2196.24871973015,-43.5832066780196,5.05433014634953
+102,1369.80366067869,-31.2961341604768,6.54900431568322
+103,1716.23065859536,-39.669540069504,2.48017631835462
+104,4836.75339571112,-68.7382726486335,-6.59236849918175
+105,2487.57592893521,-46.6408752377136,4.98261316030784
+106,3913.40492263418,-59.0856505796252,5.07717363106205
+107,161.276806697414,0.99516304638658,5.18120421245594
+108,1445.98631993368,-34.8685562807829,4.88944205656418
+109,733.399646418029,19.4891331200602,6.61882860403088
+110,411.000186118061,-1.88822533937767,7.16175336134506
+111,603.265824987431,14.1380244400304,7.04275295570392
+112,1346.02292894135,-34.3623602661506,3.93990434191016
+113,3917.76102677697,-61.4012210435464,-5.50512423996943
+114,649.344881143125,-13.4194423080587,7.44294190409633
+115,3817.36685782506,-58.3448857005669,5.05008735202479
+116,3088.07779745063,-51.2213511900404,6.13827583510343
+117,1685.69963655783,-37.7322290284518,5.07995407531594
+118,443.988302336616,11.4611946675192,6.46234283374064
+119,3412.11780803484,-56.8288336135006,-4.33556409714628
+120,377.521452451852,19.1441244058617,-2.84314888891916
+121,4361.17474608258,-64.3520862004493,-4.91639542713793
+122,115.627130132655,3.6291958906162,4.41365864133484
+123,4697.44085035487,-68.0890665063311,-6.9347275448216
+124,19.3386439875286,-0.03986491591472,2.4340824467087
+125,1946.49315523071,-39.2030697053123,6.37109682689095
+126,711.719581617268,-22.2993020682629,5.35242978951016
+127,1163.53596472028,-26.276537455132,7.23566291150618
+128,509.368706775951,-19.6525068195878,4.28316435049899
+129,580.491272941079,-20.5816480004248,4.73650867475376
+130,1424.35498364231,-36.0279261115311,2.69503035887966
+131,204.96283910418,-4.56616804634005,5.42217165790203
+132,5354.01098355414,-72.9652412434823,-7.51444018193394
+133,263.825519349313,-11.0756331150067,4.83687666738926
+134,327.954063713436,11.7327801342422,5.39209048769379
+135,6239.71709353984,-77.478375790133,-6.37117827570423
+136,715.975323066471,16.133734695001,7.32967684642208
+137,942.515068622188,-23.9358831695317,6.6260238413758
+138,6154.43386742886,-76.1542692325353,-4.81950484817665
+139,387.119060921603,13.992909122283,5.35526765133811
+140,824.810503790244,-25.8458632692668,4.46658234665906
+141,117.172951648073,-7.04432340186688,3.74367515812841
+142,1507.66059326343,-38.7498577179414,-5.04863993007914
+143,510.528102941699,-13.8816226585557,6.4655652514649
+144,100.044875233336,3.53143032766324,4.17433835237583
+145,689.277414700175,18.8122590603734,6.50253241442298
+146,2496.04011656196,-45.3876994246683,6.26097547860195
+147,127.1545860245,9.99205418108014,2.44436403113535
+148,481.476335450749,15.0422808688224,5.94398029611013
+149,1353.88561282837,-34.5864321336299,3.76594567553051
+150,184.346721811444,-5.59124787191003,5.07103810451157
+151,396.310896560675,10.0066790715896,6.35691894888776
+152,4726.58063962337,-68.2309353153849,-6.87224341591423
+153,1404.45424812932,-34.0749980077669,5.10057665264805
+154,566.707172420212,-9.40065364833522,7.53308898405865
+155,3418.12692986761,-57.829383681368,-5.95639194961225
+156,1748.65198723494,-37.2033227674863,6.10851780345336
+157,1609.28274603409,-34.4091686838208,6.68369893556057
+158,157.743263692574,8.03154400480111,4.20180158265328
+159,3778.95541512035,-59.4002320137843,-3.11184085540226
+160,1931.20810938692,-38.2147900954803,6.84681028359785
+161,4855.7889457842,-66.2569615714253,4.74850018674578
+162,5099.01284357976,-70.1953003392248,-6.20349889837352
+163,2375.04479583692,-44.6747579070491,5.82515456113494
+164,5023.35401756607,-69.5895625336738,-6.05311998462936
+165,4134.51675557401,-61.2913139101584,4.16674853910934
+166,1002.60914469393,-26.483354252606,6.02239465549858
+167,665.160532689007,-21.7903008868779,5.10395316321703
+168,385.541470832298,0.073745029251427,7.0281583350019
+169,623.836895865029,-23.4508961529066,2.89761387202618
+170,3027.86117006423,-53.5509190800047,-4.21932840133027
+171,2932.45589922986,-50.3210224219694,5.63296518357781
+172,436.262247264762,-19.7673220482605,2.22553110861098
+173,4180.7332766444,-62.7529435847603,-4.22926064010545
+174,281.47584107678,-1.0056443961041,6.29513737744718
+175,295.681038149373,9.11685360583391,5.65698527339348
+176,576.372718565075,-16.0788172577744,6.42768336379429
+177,3827.5376605931,-60.7472746089456,-5.55464586574755
+178,5522.03789345077,-72.5231127207473,-5.51579295700968
+179,666.750243769772,-22.7981731659259,4.49198682795435
+180,475.7199236432,19.6660668196227,3.64148420380852
+181,1037.75730052679,-23.5629038821836,7.35262176775161
+182,1638.83866543962,-38.5783469113112,3.02021318149191
+183,3062.92052340059,-51.1063404093681,6.03471497049776
+184,708.572407562753,18.2706603166669,6.78944999627806
+185,4458.19058097416,-66.2343361416717,-6.70915493384912
+186,2233.74492942902,-46.2997114836124,-4.49306530292615
+187,791.18800628126,-17.3439604506534,7.50848299425606
+188,3075.06188384565,-54.2199534414422,-4.78130499830748
+189,6545.06377282888,-78.0130202992036,-2.63668460170823
+190,4937.15195710577,-66.6516093801645,5.06004587484896
+191,1291.93843627659,-34.6165007490255,0.583399526789241
+192,865.622239307848,-26.7403148978951,4.31368766951858
+193,319.013663810122,14.2157848317953,4.41056303292506
+194,5388.66087091134,-71.0047453498791,-3.79468263473337
+195,596.450670170539,15.9027257474234,6.61768189284391
+196,5328.05689241693,-70.160217182373,2.60756098062811
+197,788.711844540188,-19.4945251532755,6.9878316416505
+198,5185.03340019114,-71.8615847922921,-7.49369949325242
+199,953.830929960376,-21.3140043260099,7.49322822311989
diff --git a/tests/exec_test/reparam_gen_proj/sisso.json b/tests/exec_test/reparam_gen_proj/sisso.json
new file mode 100644
index 0000000000000000000000000000000000000000..33dd14a13c3baf6fe149395195406db8ccb58962
--- /dev/null
+++ b/tests/exec_test/reparam_gen_proj/sisso.json
@@ -0,0 +1,18 @@
+{
+    "desc_dim": 2,
+    "n_sis_select": 5,
+    "max_rung": 2,
+    "n_residual": 5,
+    "data_file": "data.csv",
+    "data_file_relatice_to_json": true,
+    "property_key": "Prop",
+    "leave_out_frac": 0.00,
+    "n_models_store": 5,
+    "n_rung_generate": 1,
+    "leave_out_inds": [],
+    "opset": ["sq"],
+    "param_opset": ["cb", "mult", "div"],
+    "fix_intercept": true,
+    "reparam_residual": true,
+    "global_param_opt": false
+}
diff --git a/tests/googletest/descriptor_identification/model/test_model_log_regressor.cc b/tests/googletest/descriptor_identification/model/test_model_log_regressor.cc
index 972a3761569cf897e0414b46c29995093587e537..165a0c4ce3d4d0e28c07a6e73cecf00cefa64ed8 100644
--- a/tests/googletest/descriptor_identification/model/test_model_log_regressor.cc
+++ b/tests/googletest/descriptor_identification/model/test_model_log_regressor.cc
@@ -235,4 +235,48 @@ namespace
         boost::filesystem::remove("train_true_log_reg.dat");
         boost::filesystem::remove("test_true_log_reg.dat");
     }
+
+    TEST_F(ModelLogRegssorTests, EvalTest)
+    {
+        _loss = std::make_shared<LossFunctionLogPearsonRMSE>(
+            _prop,
+            _prop_test,
+            _task_sizes_train,
+            _task_sizes_test,
+            false,
+            2
+        );
+
+        ModelLogRegressor model(
+            "Property",
+            Unit("m"),
+            _loss,
+            _features,
+            _leave_out_inds,
+            _sample_ids_train,
+            _sample_ids_test,
+            task_names
+        );
+
+        model.set_task_eval(0);
+        std::vector<double> pt = {2.0, 2.0};
+        double val = model.eval(pt);
+        EXPECT_LT(val - 0.00025, 1e-10);
+
+        std::map<std::string, double> pt_dct;
+        pt_dct["A"] = 1.0;
+        pt_dct["B"] = 1.0;
+        val = model.eval(pt_dct);
+        EXPECT_LT(val - 0.00025, 1e-10);
+
+        std::vector<std::vector<double>> pts = {{1.0}, {1.0}};
+        val = model.eval(pts)[0];
+        EXPECT_LT(val - 0.00025, 1e-10);
+
+        std::map<std::string, std::vector<double>> pts_dct;
+        pts_dct["A"] = {1.0};
+        pts_dct["B"] = {1.0};
+        val = model.eval(pts_dct)[0];
+        EXPECT_LT(val - 0.00025, 1e-10);
+    }
 }
diff --git a/tests/googletest/descriptor_identification/model/test_model_regressor.cc b/tests/googletest/descriptor_identification/model/test_model_regressor.cc
index 72205435ef93a25b585933a437498bf12268d6d9..9ad720333d6a6638d75c8caf9bb7e43421f2ea4a 100644
--- a/tests/googletest/descriptor_identification/model/test_model_regressor.cc
+++ b/tests/googletest/descriptor_identification/model/test_model_regressor.cc
@@ -252,4 +252,50 @@ namespace
         boost::filesystem::remove("train_true.dat");
         boost::filesystem::remove("test_true.dat");
     }
+
+    TEST_F(ModelRegssorTests, EvalTest)
+    {
+        _loss = std::make_shared<LossFunctionPearsonRMSE>(
+            _prop,
+            _prop_test,
+            _task_sizes_train,
+            _task_sizes_test,
+            false,
+            2
+        );
+
+        ModelRegressor model(
+            "Property",
+            Unit("m"),
+            _loss,
+            _features,
+            _leave_out_inds,
+            _sample_ids_train,
+            _sample_ids_test,
+            task_names
+        );
+
+        model.set_task_eval(0);
+        std::vector<double> pt = {1.0, 1.0};
+        EXPECT_LT(model.eval(pt) - 2.001, 1e-10);
+
+        std::map<std::string, double> pt_dct;
+        pt_dct["A"] = 1.0;
+        pt_dct["B"] = 1.0;
+        EXPECT_LT(model.eval(pt_dct) - 2.001, 1e-10);
+
+        std::vector<std::vector<double>> pts = {{1.0}, {1.0}};
+        EXPECT_LT(model.eval(pts)[0] - 2.001, 1e-10);
+
+        std::map<std::string, std::vector<double>> pts_dct;
+        pts_dct["A"] = {1.0};
+        pts_dct["B"] = {1.0};
+        EXPECT_LT(model.eval(pts_dct)[0] - 2.001, 1e-10);
+
+        model.set_task_eval(1);
+        EXPECT_LT(model.eval(pt) + 5.65, 1e-10);
+        EXPECT_LT(model.eval(pt_dct) + 5.65, 1e-10);
+        EXPECT_LT(model.eval(pts)[0] + 5.65, 1e-10);
+        EXPECT_LT(model.eval(pts_dct)[0] + 5.65, 1e-10);
+    }
 }
diff --git a/tests/googletest/descriptor_identification/solver/test_sisso_classifier.cc b/tests/googletest/descriptor_identification/solver/test_sisso_classifier.cc
index 84b3790a9e3f8440f78880e3a507fff94b29aa82..e3a510d88ed5723da902264cbbc70fcb2532769e 100644
--- a/tests/googletest/descriptor_identification/solver/test_sisso_classifier.cc
+++ b/tests/googletest/descriptor_identification/solver/test_sisso_classifier.cc
@@ -1,198 +1,198 @@
-// Copyright 2021 Thomas A. R. Purcell
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-#include <descriptor_identifier/solver/SISSOClassifier.hpp>
-#include <boost/filesystem.hpp>
-#include "gtest/gtest.h"
-#include <random>
-
-namespace
-{
-    class SISSOClassifierTests : public ::testing::Test
-    {
-    protected:
-        void SetUp() override
-        {
-            allowed_op_maps::set_node_maps();
-            node_value_arrs::initialize_d_matrix_arr();
-            mpi_setup::init_mpi_env();
-
-            std::vector<int> task_sizes_train = {80};
-            std::vector<int> task_sizes_test = {20};
-
-            node_value_arrs::initialize_values_arr(task_sizes_train, task_sizes_test, 3, 2, false);
-
-            std::vector<std::string> sample_ids_train(task_sizes_train[0]);
-            for(int ii = 0; ii < task_sizes_train[0]; ++ii)
-            {
-                sample_ids_train[ii] = std::to_string(ii);
-            }
-
-            std::vector<std::string> sample_ids_test(task_sizes_test[0]);
-            std::vector<int> leave_out_inds(task_sizes_test[0]);
-            for(int ii = 0; ii < task_sizes_test[0]; ++ii)
-            {
-                sample_ids_test[ii] = std::to_string(ii);
-                leave_out_inds[ii] = ii;
-            }
-
-            std::vector<std::string> task_names = {"all"};
-
-            std::vector<double> value_1(task_sizes_train[0], 0.0);
-            std::vector<double> value_2(task_sizes_train[0], 0.0);
-            std::vector<double> value_3(task_sizes_train[0], 0.0);
-
-            std::vector<double> test_value_1(task_sizes_test[0], 0.0);
-            std::vector<double> test_value_2(task_sizes_test[0], 0.0);
-            std::vector<double> test_value_3(task_sizes_test[0], 0.0);
-
-            std::default_random_engine generator;
-            std::uniform_real_distribution<double> distribution_12_pos(1.0, 2.0);
-            std::uniform_real_distribution<double> distribution_12_neg(-2.0, -1.0);
-            std::uniform_real_distribution<double> distribution_3(-10.0, 10.0);
-
-            for(int ii = 0; ii < 20; ++ii)
-            {
-                value_1[ii] = distribution_12_neg(generator);
-                value_2[ii] = distribution_12_neg(generator);
-                value_3[ii] = distribution_3(generator);
-            }
-            for(int ii = 20; ii < 40; ++ii)
-            {
-                value_1[ii] = distribution_12_pos(generator);
-                value_2[ii] = distribution_12_pos(generator);
-                value_3[ii] = distribution_3(generator);
-            }
-            for(int ii = 40; ii < 60; ++ii)
-            {
-                value_1[ii] = distribution_12_neg(generator);
-                value_2[ii] = distribution_12_pos(generator);
-                value_3[ii] = distribution_3(generator);
-            }
-            for(int ii = 60; ii < 80; ++ii)
-            {
-                value_1[ii] = distribution_12_pos(generator);
-                value_2[ii] = distribution_12_neg(generator);
-                value_3[ii] = distribution_3(generator);
-            }
-
-            for(int ii = 0; ii < 5; ++ii)
-            {
-                test_value_1[ii] = distribution_12_neg(generator);
-                test_value_2[ii] = distribution_12_neg(generator);
-                test_value_3[ii] = distribution_3(generator);
-            }
-
-            for(int ii = 5; ii < 10; ++ii)
-            {
-                test_value_1[ii] = distribution_12_pos(generator);
-                test_value_2[ii] = distribution_12_pos(generator);
-                test_value_3[ii] = distribution_3(generator);
-            }
-
-            for(int ii = 10; ii < 15; ++ii)
-            {
-                test_value_1[ii] = distribution_12_neg(generator);
-                test_value_2[ii] = distribution_12_pos(generator);
-                test_value_3[ii] = distribution_3(generator);
-            }
-
-            for(int ii = 15; ii < 20; ++ii)
-            {
-                test_value_1[ii] = distribution_12_pos(generator);
-                test_value_2[ii] = distribution_12_neg(generator);
-                test_value_3[ii] = distribution_3(generator);
-            }
-
-            FeatureNode feat_1(0, "A", value_1, test_value_1, Unit("m"));
-            FeatureNode feat_2(1, "B", value_2, test_value_2, Unit("m"));
-            FeatureNode feat_3(2, "C", value_3, test_value_3, Unit());
-
-            std::vector<double> prop = std::vector<double>(task_sizes_train[0], 0.0);
-            std::vector<double> prop_test = std::vector<double>(task_sizes_test[0], 0.0);
-
-            std::fill_n(prop.begin() + 20, 20, 1.0);
-            std::fill_n(prop.begin() + 40, 20, 2.0);
-            std::fill_n(prop.begin() + 60, 20, 3.0);
-            std::fill_n(prop_test.begin() +  5, 5, 1.0);
-            std::fill_n(prop_test.begin() + 10, 5, 2.0);
-            std::fill_n(prop_test.begin() + 15, 5, 3.0);
-
-            std::vector<FeatureNode> phi_0 ={feat_1, feat_2, feat_3};
-
-            std::vector<std::string> allowed_ops = {"sq", "cb", "sqrt", "cbrt", "six_pow", "inv", "abs"};
-            std::vector<std::string> allowed_param_ops = {};
-
-            inputs.set_calc_type("classification");
-            inputs.set_phi_0(phi_0);
-            inputs.set_prop_train(prop);
-            inputs.set_prop_test(prop_test);
-
-            inputs.set_task_names(task_names);
-            inputs.set_task_sizes_train(task_sizes_train);
-            inputs.set_task_sizes_test(task_sizes_test);
-            inputs.set_leave_out_inds(leave_out_inds);
-
-            inputs.set_sample_ids_train(sample_ids_train);
-            inputs.set_sample_ids_test(sample_ids_test);
-
-            inputs.set_allowed_param_ops(allowed_param_ops);
-            inputs.set_allowed_ops(allowed_ops);
-
-            inputs.set_max_rung(2);
-            inputs.set_n_sis_select(5);
-            inputs.set_n_rung_store(1);
-            inputs.set_n_rung_generate(0);
-
-            inputs.set_prop_label("Class");
-            inputs.set_prop_unit(Unit());
-            inputs.set_n_dim(2);
-            inputs.set_n_residual(2);
-            inputs.set_n_models_store(3);
-        }
-
-        InputParser inputs;
-    };
-
-    TEST_F(SISSOClassifierTests, FixInterceptFalseTest)
-    {
-        std::shared_ptr<FeatureSpace> feat_space = std::make_shared<FeatureSpace>(inputs);
-        SISSOClassifier sisso(inputs, feat_space);
-
-        std::vector<double> prop_comp(80, 0.0);
-        std::transform(inputs.prop_train().begin(), inputs.prop_train().end(), sisso.prop_train().begin(), prop_comp.begin(), [](double p1, double p2){return std::abs(p1 - p2);});
-        EXPECT_FALSE(std::any_of(prop_comp.begin(), prop_comp.end(), [](double p){return p > 1e-10;}));
-
-        std::transform(inputs.prop_test().begin(), inputs.prop_test().begin() + 10, sisso.prop_test().begin(), prop_comp.begin(), [](double p1, double p2){return std::abs(p1 - p2);});
-        EXPECT_FALSE(std::any_of(prop_comp.begin(), prop_comp.begin() + 10, [](double p){return p > 1e-10;}));
-
-        EXPECT_EQ(sisso.n_samp(), 80);
-        EXPECT_EQ(sisso.n_dim(), 2);
-        EXPECT_EQ(sisso.n_residual(), 2);
-        EXPECT_EQ(sisso.n_models_store(), 3);
-
-        sisso.fit();
-
-        EXPECT_EQ(sisso.models().size(), 2);
-        EXPECT_EQ(sisso.models()[0].size(), 3);
-
-        EXPECT_EQ(sisso.models().back()[0].n_convex_overlap_train(), 0);
-        EXPECT_EQ(sisso.models().back()[0].n_convex_overlap_test(), 0);
-
-        EXPECT_EQ(sisso.models().back()[0].n_svm_misclassified_train(), 0);
-        EXPECT_EQ(sisso.models().back()[0].n_svm_misclassified_test(), 0);
-
-        boost::filesystem::remove_all("feature_space/");
-        boost::filesystem::remove_all("models/");
-    }
-}
+// // Copyright 2021 Thomas A. R. Purcell
+// //
+// // Licensed under the Apache License, Version 2.0 (the "License");
+// // you may not use this file except in compliance with the License.
+// // You may obtain a copy of the License at
+// //
+// //     http://www.apache.org/licenses/LICENSE-2.0
+// //
+// // Unless required by applicable law or agreed to in writing, software
+// // distributed under the License is distributed on an "AS IS" BASIS,
+// // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// // See the License for the specific language governing permissions and
+// // limitations under the License.
+// #include <descriptor_identifier/solver/SISSOClassifier.hpp>
+// #include <boost/filesystem.hpp>
+// #include "gtest/gtest.h"
+// #include <random>
+
+// namespace
+// {
+//     class SISSOClassifierTests : public ::testing::Test
+//     {
+//     protected:
+//         void SetUp() override
+//         {
+//             allowed_op_maps::set_node_maps();
+//             node_value_arrs::initialize_d_matrix_arr();
+//             mpi_setup::init_mpi_env();
+
+//             std::vector<int> task_sizes_train = {80};
+//             std::vector<int> task_sizes_test = {20};
+
+//             node_value_arrs::initialize_values_arr(task_sizes_train, task_sizes_test, 3, 2, false);
+
+//             std::vector<std::string> sample_ids_train(task_sizes_train[0]);
+//             for(int ii = 0; ii < task_sizes_train[0]; ++ii)
+//             {
+//                 sample_ids_train[ii] = std::to_string(ii);
+//             }
+
+//             std::vector<std::string> sample_ids_test(task_sizes_test[0]);
+//             std::vector<int> leave_out_inds(task_sizes_test[0]);
+//             for(int ii = 0; ii < task_sizes_test[0]; ++ii)
+//             {
+//                 sample_ids_test[ii] = std::to_string(ii);
+//                 leave_out_inds[ii] = ii;
+//             }
+
+//             std::vector<std::string> task_names = {"all"};
+
+//             std::vector<double> value_1(task_sizes_train[0], 0.0);
+//             std::vector<double> value_2(task_sizes_train[0], 0.0);
+//             std::vector<double> value_3(task_sizes_train[0], 0.0);
+
+//             std::vector<double> test_value_1(task_sizes_test[0], 0.0);
+//             std::vector<double> test_value_2(task_sizes_test[0], 0.0);
+//             std::vector<double> test_value_3(task_sizes_test[0], 0.0);
+
+//             std::default_random_engine generator;
+//             std::uniform_real_distribution<double> distribution_12_pos(1.0, 2.0);
+//             std::uniform_real_distribution<double> distribution_12_neg(-2.0, -1.0);
+//             std::uniform_real_distribution<double> distribution_3(-10.0, 10.0);
+
+//             for(int ii = 0; ii < 20; ++ii)
+//             {
+//                 value_1[ii] = distribution_12_neg(generator);
+//                 value_2[ii] = distribution_12_neg(generator);
+//                 value_3[ii] = distribution_3(generator);
+//             }
+//             for(int ii = 20; ii < 40; ++ii)
+//             {
+//                 value_1[ii] = distribution_12_pos(generator);
+//                 value_2[ii] = distribution_12_pos(generator);
+//                 value_3[ii] = distribution_3(generator);
+//             }
+//             for(int ii = 40; ii < 60; ++ii)
+//             {
+//                 value_1[ii] = distribution_12_neg(generator);
+//                 value_2[ii] = distribution_12_pos(generator);
+//                 value_3[ii] = distribution_3(generator);
+//             }
+//             for(int ii = 60; ii < 80; ++ii)
+//             {
+//                 value_1[ii] = distribution_12_pos(generator);
+//                 value_2[ii] = distribution_12_neg(generator);
+//                 value_3[ii] = distribution_3(generator);
+//             }
+
+//             for(int ii = 0; ii < 5; ++ii)
+//             {
+//                 test_value_1[ii] = distribution_12_neg(generator);
+//                 test_value_2[ii] = distribution_12_neg(generator);
+//                 test_value_3[ii] = distribution_3(generator);
+//             }
+
+//             for(int ii = 5; ii < 10; ++ii)
+//             {
+//                 test_value_1[ii] = distribution_12_pos(generator);
+//                 test_value_2[ii] = distribution_12_pos(generator);
+//                 test_value_3[ii] = distribution_3(generator);
+//             }
+
+//             for(int ii = 10; ii < 15; ++ii)
+//             {
+//                 test_value_1[ii] = distribution_12_neg(generator);
+//                 test_value_2[ii] = distribution_12_pos(generator);
+//                 test_value_3[ii] = distribution_3(generator);
+//             }
+
+//             for(int ii = 15; ii < 20; ++ii)
+//             {
+//                 test_value_1[ii] = distribution_12_pos(generator);
+//                 test_value_2[ii] = distribution_12_neg(generator);
+//                 test_value_3[ii] = distribution_3(generator);
+//             }
+
+//             FeatureNode feat_1(0, "A", value_1, test_value_1, Unit("m"));
+//             FeatureNode feat_2(1, "B", value_2, test_value_2, Unit("m"));
+//             FeatureNode feat_3(2, "C", value_3, test_value_3, Unit());
+
+//             std::vector<double> prop = std::vector<double>(task_sizes_train[0], 0.0);
+//             std::vector<double> prop_test = std::vector<double>(task_sizes_test[0], 0.0);
+
+//             std::fill_n(prop.begin() + 20, 20, 1.0);
+//             std::fill_n(prop.begin() + 40, 20, 2.0);
+//             std::fill_n(prop.begin() + 60, 20, 3.0);
+//             std::fill_n(prop_test.begin() +  5, 5, 1.0);
+//             std::fill_n(prop_test.begin() + 10, 5, 2.0);
+//             std::fill_n(prop_test.begin() + 15, 5, 3.0);
+
+//             std::vector<FeatureNode> phi_0 ={feat_1, feat_2, feat_3};
+
+//             std::vector<std::string> allowed_ops = {"sq", "cb", "sqrt", "cbrt", "six_pow", "inv", "abs"};
+//             std::vector<std::string> allowed_param_ops = {};
+
+//             inputs.set_calc_type("classification");
+//             inputs.set_phi_0(phi_0);
+//             inputs.set_prop_train(prop);
+//             inputs.set_prop_test(prop_test);
+
+//             inputs.set_task_names(task_names);
+//             inputs.set_task_sizes_train(task_sizes_train);
+//             inputs.set_task_sizes_test(task_sizes_test);
+//             inputs.set_leave_out_inds(leave_out_inds);
+
+//             inputs.set_sample_ids_train(sample_ids_train);
+//             inputs.set_sample_ids_test(sample_ids_test);
+
+//             inputs.set_allowed_param_ops(allowed_param_ops);
+//             inputs.set_allowed_ops(allowed_ops);
+
+//             inputs.set_max_rung(2);
+//             inputs.set_n_sis_select(5);
+//             inputs.set_n_rung_store(1);
+//             inputs.set_n_rung_generate(0);
+
+//             inputs.set_prop_label("Class");
+//             inputs.set_prop_unit(Unit());
+//             inputs.set_n_dim(2);
+//             inputs.set_n_residual(2);
+//             inputs.set_n_models_store(3);
+//         }
+
+//         InputParser inputs;
+//     };
+
+//     TEST_F(SISSOClassifierTests, FixInterceptFalseTest)
+//     {
+//         std::shared_ptr<FeatureSpace> feat_space = std::make_shared<FeatureSpace>(inputs);
+//         SISSOClassifier sisso(inputs, feat_space);
+
+//         std::vector<double> prop_comp(80, 0.0);
+//         std::transform(inputs.prop_train().begin(), inputs.prop_train().end(), sisso.prop_train().begin(), prop_comp.begin(), [](double p1, double p2){return std::abs(p1 - p2);});
+//         EXPECT_FALSE(std::any_of(prop_comp.begin(), prop_comp.end(), [](double p){return p > 1e-10;}));
+
+//         std::transform(inputs.prop_test().begin(), inputs.prop_test().begin() + 10, sisso.prop_test().begin(), prop_comp.begin(), [](double p1, double p2){return std::abs(p1 - p2);});
+//         EXPECT_FALSE(std::any_of(prop_comp.begin(), prop_comp.begin() + 10, [](double p){return p > 1e-10;}));
+
+//         EXPECT_EQ(sisso.n_samp(), 80);
+//         EXPECT_EQ(sisso.n_dim(), 2);
+//         EXPECT_EQ(sisso.n_residual(), 2);
+//         EXPECT_EQ(sisso.n_models_store(), 3);
+
+//         sisso.fit();
+
+//         EXPECT_EQ(sisso.models().size(), 2);
+//         EXPECT_EQ(sisso.models()[0].size(), 3);
+
+//         EXPECT_EQ(sisso.models().back()[0].n_convex_overlap_train(), 0);
+//         EXPECT_EQ(sisso.models().back()[0].n_convex_overlap_test(), 0);
+
+//         EXPECT_EQ(sisso.models().back()[0].n_svm_misclassified_train(), 0);
+//         EXPECT_EQ(sisso.models().back()[0].n_svm_misclassified_test(), 0);
+
+//         boost::filesystem::remove_all("feature_space/");
+//         boost::filesystem::remove_all("models/");
+//     }
+// }
diff --git a/tests/pytest/test_descriptor_identifier/matlab_functions/model_log_regressor.m b/tests/pytest/test_descriptor_identifier/matlab_functions/model_log_regressor.m
new file mode 100644
index 0000000000000000000000000000000000000000..d11bc207f86525d837235cf34ea563a99197708f
--- /dev/null
+++ b/tests/pytest/test_descriptor_identifier/matlab_functions/model_log_regressor.m
@@ -0,0 +1,25 @@
+function P = model_log_regressor(X)
+% Returns the value of $Prop$ = exp(c0) * ((B + A))^a0 * ((|D - B|))^a1
+%
+% X = [
+%     B,
+%     A,
+%     D,
+% ]
+
+if(size(X, 2) ~= 3)
+    error("ERROR: X must have a size of 3 in the second dimension.")
+end
+B = reshape(X(:, 1), 1, []);
+A = reshape(X(:, 2), 1, []);
+D = reshape(X(:, 3), 1, []);
+
+f0 = (B + A);
+f1 = abs(D - B);
+
+c0 = 2.1945699276e-13;
+a0 = 1.2000000000e+00;
+a1 = -1.9500000000e+00;
+
+P = reshape(exp(c0) .* f0.^a0 .* f1.^a1, [], 1);
+end
diff --git a/tests/pytest/test_descriptor_identifier/matlab_functions/model_regressor.m b/tests/pytest/test_descriptor_identifier/matlab_functions/model_regressor.m
new file mode 100644
index 0000000000000000000000000000000000000000..67981df18c5fa69193bbb921356e1f0bf5d51c7f
--- /dev/null
+++ b/tests/pytest/test_descriptor_identifier/matlab_functions/model_regressor.m
@@ -0,0 +1,27 @@
+function P = model_regressor(X)
+% Returns the value of $Prop$ = c0 + a0 * ((B / A) / A) + a1 * ((D + C) + (|D|))
+%
+% X = [
+%     B,
+%     A,
+%     D,
+%     C,
+% ]
+
+if(size(X, 2) ~= 4)
+    error("ERROR: X must have a size of 4 in the second dimension.")
+end
+B = reshape(X(:, 1), 1, []);
+A = reshape(X(:, 2), 1, []);
+D = reshape(X(:, 3), 1, []);
+C = reshape(X(:, 4), 1, []);
+
+f0 = ((B ./ A) ./ A);
+f1 = ((D + C) + abs(D));
+
+c0 = 3.1415899996e+00;
+a0 = -7.2154784853e+00;
+a1 = 8.2271800000e+01;
+
+P = reshape(c0 + a0 * f0 + a1 * f1, [], 1);
+end
diff --git a/tests/pytest/test_descriptor_identifier/model_files/test.dat b/tests/pytest/test_descriptor_identifier/model_files/test.dat
deleted file mode 100644
index ad9c3384d1bd5530d2703e3a0802fb1075ff3550..0000000000000000000000000000000000000000
--- a/tests/pytest/test_descriptor_identifier/model_files/test.dat
+++ /dev/null
@@ -1,22 +0,0 @@
-# c0 + a0 * [(B) / (1.000000*(1.000000*A + 0.000000)^2 + 0.000000)] + a1 * C
-# Property of the Unit: Unitless
-# RMSE: 1.85169904965289e-09; Max AE: 3.25962901115417e-09
-# Coefficients
-# Task     a0                      a1                      c0
-# 0,      -7.215479542045696e+00,  8.227180000000007e+01,  3.141589999622815e+00,
-# 1,       9.914521341156420e+01, -1.423659000000001e+02, -5.254860000110127e+00,
-# Feature Rung, Domain, Units, and Expressions
-# 0;  2; (-inf, inf); m^-2 * s;                                         1|0|sq:1.0,0.0|div:1.0,0.0; [(B) / (1.000000*(1.000000*A + 0.000000)^2 + 0.000000)]
-# 1;  0; [-2.971577187309380e+03, 2.622065505551910e+04]; Unitless;                                         2; C
-# Number of Samples Per Task
-# Task;   n_mats_test
-# 0,      3
-# 1,      2
-# Test Indexes: [ 0, 1, 2, 60, 61 ]
-
-#Property Value          Property Value (EST)    Feature 0 Value         Feature 1 Value
- 1.031303343104370e+06,  1.031303343104372e+06,  5.087963053254981e-08,  1.253528185252710e+04
- 2.071791819726890e+05,  2.071791819726897e+05,  6.929206698600502e-07,  2.518190198679130e+03
- 5.945479900349240e+05,  5.945479900349238e+05,  7.732840323401594e-08,  7.226593418953780e+03
--1.747903770607640e+06, -1.747903770607637e+06,  3.089720438913970e-07,  1.227750827816400e+04
--6.020310027164250e+05, -6.020310027164250e+05,  7.913240374082342e-08,  4.228721539808830e+03
diff --git a/tests/pytest/test_descriptor_identifier/model_files/test_log_regressor.dat b/tests/pytest/test_descriptor_identifier/model_files/test_log_regressor.dat
new file mode 100644
index 0000000000000000000000000000000000000000..0594278ce2e9ef216951f103b3b671d521787a7b
--- /dev/null
+++ b/tests/pytest/test_descriptor_identifier/model_files/test_log_regressor.dat
@@ -0,0 +1,20 @@
+# exp(c0) * ((B + A))^a0 * ((|D - B|))^a1
+# Property Label: $Prop$; Unit of the Property: Unitless
+# RMSE: 1.61410365875894e-15; Max AE: 3.10862446895044e-15
+# Coefficients
+# Task   a0                      a1                      c0
+# all ,  1.199999999999988e+00, -1.950000000000029e+00,  2.194569927587456e-13, 
+# Feature Rung, Units, and Expressions
+# 0;  1; Unitless;                                         1|0|add; (B + A); $\left(B + A\right)$; (B + A); B,A
+# 1;  1; Unitless;                                         3|1|abd; (|D - B|); $\left(\left|D - B\right|\right)$; abs(D - B); D,B
+# Number of Samples Per Task
+# Task,   n_mats_test             
+# all,    5                     
+# Test Indexes: [ 0, 1, 2, 60, 61 ]
+
+# Sample ID , Property Value        ,  Property Value (EST) ,  Feature 0 Value      ,  Feature 1 Value      
+1           ,  4.264458572132099e-02,  4.264458572132052e-02,  3.568363856578659e+02,  1.876653670337830e+02
+2           ,  5.128655254447301e-02,  5.128655254447235e-02,  5.929548172172870e+02,  2.333519824867290e+02
+3           ,  1.154564838708350e-01,  1.154564838708343e-01,  6.100109033119550e+02,  1.566264196564090e+02
+61          ,  3.873513241106430e-01,  3.873513241106399e-01,  7.579071479419800e+02,  9.622758101464603e+01
+62          ,  1.014668554799790e-01,  1.014668554799775e-01,  6.541291122548810e+02,  1.747001665463090e+02
diff --git a/tests/pytest/test_descriptor_identifier/model_files/test_regressor.dat b/tests/pytest/test_descriptor_identifier/model_files/test_regressor.dat
new file mode 100644
index 0000000000000000000000000000000000000000..8fe475f511fb42d4083ffc4b5e828efd9ecc9eec
--- /dev/null
+++ b/tests/pytest/test_descriptor_identifier/model_files/test_regressor.dat
@@ -0,0 +1,22 @@
+# c0 + a0 * ((B / A) / A) + a1 * ((D + C) + (|D|))
+# Property Label: $Prop$; Unit of the Property: Unitless
+# RMSE: 1.87732114645728e-09; Max AE: 3.49245965480804e-09
+# Coefficients
+# Task   a0                      a1                      c0
+# X   , -7.215478485316414e+00,  8.227180000000006e+01,  3.141589999617774e+00, 
+# Y   ,  9.914521320736678e+01, -1.423659000000001e+02, -5.254860000134174e+00, 
+# Feature Rung, Units, and Expressions
+# 0;  2; m^-2 * s;                                         1|0|div|0|div; ((B / A) / A); $\left(\frac{ \left(\frac{ B }{ A } \right) }{ A } \right)$; ((B ./ A) ./ A); B,A,A
+# 1;  2; Unitless;                                         3|2|add|3|abs|add; ((D + C) + (|D|)); $\left(\left(D + C\right) + \left(\left|D\right|\right)\right)$; ((D + C) + abs(D)); D,C,D
+# Number of Samples Per Task
+# Task,   n_mats_test             
+# X,      3                     
+# Y,      2                     
+# Test Indexes: [ 0, 1, 2, 60, 61 ]
+
+# Sample ID , Property Value        ,  Property Value (EST) ,  Feature 0 Value      ,  Feature 1 Value      
+1           ,  1.031303343104370e+06,  1.031303343104372e+06,  5.087963053254981e-08,  1.253528185252710e+04
+2           ,  2.071791819726890e+05,  2.071791819726896e+05,  6.929206698600503e-07,  2.518190198679130e+03
+3           ,  5.945479900349240e+05,  5.945479900349237e+05,  7.732840323401594e-08,  7.226593418953780e+03
+61          , -1.747903770607640e+06, -1.747903770607637e+06,  3.089720438913970e-07,  1.227750827816400e+04
+62          , -6.020310027164250e+05, -6.020310027164250e+05,  7.913240374082342e-08,  4.228721539808830e+03
diff --git a/tests/pytest/test_descriptor_identifier/model_files/train.dat b/tests/pytest/test_descriptor_identifier/model_files/train.dat
deleted file mode 100644
index 6a2fd4558a667848dbe8f502cc14e65fa5593a37..0000000000000000000000000000000000000000
--- a/tests/pytest/test_descriptor_identifier/model_files/train.dat
+++ /dev/null
@@ -1,111 +0,0 @@
-# c0 + a0 * [(B) / (1.000000*(1.000000*A + 0.000000)^2 + 0.000000)] + a1 * C
-# Property of the Unit: Unitless
-# RMSE: 2.74915740443318e-09; Max AE: 9.31322574615479e-09
-# Coefficients
-# Task     a0                      a1                      c0
-# 0,      -7.215479542045696e+00,  8.227180000000007e+01,  3.141589999622815e+00,
-# 1,       9.914521341156420e+01, -1.423659000000001e+02, -5.254860000110127e+00,
-# Feature Rung, Domain, Units, and Expressions
-# 0;  2; (-inf, inf); m^-2 * s;                                         1|0|sq:1.0,0.0|div:1.0,0.0; [(B) / (1.000000*(1.000000*A + 0.000000)^2 + 0.000000)]
-# 1;  0; [-2.971577187309380e+03, 2.622065505551910e+04]; Unitless;                                         2; C
-# Number of Samples Per Task
-# Task;   n_mats_train
-# 0,      57
-# 1,      38
-
-#Property Value          Property Value (EST)    Feature 0 Value         Feature 1 Value
- 1.431871750857350e+06;  1.431871750857357e+06;  2.697060006837511e-06;  1.740412400466280e+04
- 2.132341513916110e+06;  2.132341513916109e+06;  2.065168448030928e-08;  2.591821708442330e+04
- 1.849456859032140e+06;  1.849456859032137e+06;  1.626134513838345e-08;  2.247980131031840e+04
- 4.163774736839510e+05;  4.163774736839511e+05;  2.378687110561754e-08;  5.060960524677020e+03
- 1.834852243834940e+06;  1.834852243834940e+06;  2.057971012989485e-03;  2.230228483021140e+04
- 2.030615002138700e+06;  2.030615002138702e+06;  2.033750916695686e-08;  2.468174830924870e+04
- 4.182049069917290e+05;  4.182049069917287e+05;  5.342688466073691e-08;  5.083172671585090e+03
- 1.600764653367910e+06;  1.600764653367909e+06;  1.574249399443083e-07;  1.945698905067160e+04
--2.374423038913250e+05; -2.374423038913255e+05;  9.522984388019029e-08; -2.886109766416170e+03
- 3.895694030199360e+05;  3.895694030199360e+05;  2.998984401431883e-07;  4.735112899342180e+03
- 1.097874595585220e+06;  1.097874595585217e+06;  8.407905381849567e-08;  1.334444431744320e+04
- 8.965124261335440e+05;  8.965124261335426e+05;  6.976681145109002e-08;  1.089692074980790e+04
- 1.247533441655420e+04;  1.247533441655385e+04;  4.240950437796524e-07;  1.515974225629470e+02
- 6.432185312889291e+05;  6.432185312889284e+05;  2.623773234135730e-08;  7.818175726058230e+03
- 8.880982463097370e+05;  8.880982463097404e+05;  5.111909378807164e-08;  1.079464779815330e+04
- 1.636015660236120e+06;  1.636015660236114e+06;  1.749950739140699e-05;  1.988545915820950e+04
- 1.523022284718580e+06;  1.523022284718574e+06;  7.444571741652756e-09;  1.851204353288280e+04
--1.806691656141680e+04; -1.806691656141721e+04;  5.124135740795190e-09; -2.196385414124870e+02
- 7.535749948523890e+05;  7.535749948523892e+05;  2.530373185333834e-04;  9.159540147270080e+03
- 4.846796705070550e+05;  4.846796705070554e+05;  1.516116594933527e-08;  5.891162329220520e+03
- 1.418886295186410e+06;  1.418886295186410e+06;  5.602337173621954e-08;  1.724628795768190e+04
- 7.468643665926130e+05;  7.468643665926139e+05;  7.350449259326487e-08;  9.077973558414231e+03
- 8.266764695919290e+05;  8.266764695919303e+05;  1.227812638317768e-08;  1.004807635182430e+04
- 9.048709052557090e+05;  9.048709052557111e+05;  9.684184878175625e-06;  1.099851666957070e+04
- 1.081673040470480e+06;  1.081673040470487e+06;  3.095754649186859e-08;  1.314751711863250e+04
- 1.602766311029420e+06;  1.602766311029422e+06;  1.942687305315588e-07;  1.948131886552650e+04
- 8.482960813663350e+05;  8.482960813663343e+05;  1.994254893455139e-07;  1.031085912521390e+04
- 8.819870504835790e+05;  8.819870504835781e+05;  5.815040616166881e-08;  1.072036723268480e+04
- 1.384967839241260e+06;  1.384967839241261e+06;  4.585957732720945e-08;  1.683401478576610e+04
- 1.435243993088210e+06;  1.435243993088209e+06;  3.530173492054727e-08;  1.744511304600680e+04
- 1.482822441554200e+06;  1.482822441554193e+06;  2.365805697619391e-08;  1.802342114751790e+04
- 1.159462504579730e+06;  1.159462504579732e+06;  3.955375090312368e-09;  1.409303507386200e+04
- 1.385445915520980e+06;  1.385445915520977e+06;  7.215270937489370e-09;  1.683982572316430e+04
- 1.078840903789160e+06;  1.078840903789154e+06;  7.719292312078009e-08;  1.311309296988410e+04
- 3.220723182574270e+05;  3.220723182574275e+05;  6.725877658255970e-08;  3.914697097522030e+03
- 1.547503571926120e+06;  1.547503571926123e+06;  3.349707138495564e-07;  1.880960949363620e+04
- 1.174714507507300e+06;  1.174714507507300e+06;  4.195999687630714e-08;  1.427842062429170e+04
- 9.487534028084230e+04;  9.487534028084182e+04;  6.018658340475335e-07;  1.153155743464770e+03
- 3.621603641205080e+05;  3.621603641205075e+05;  3.428967326845969e-09;  4.401960605341470e+03
- 6.736173787551570e+05;  6.736173787551573e+05;  9.033100765464531e-08;  8.187668644247590e+03
- 8.823510522257930e+05;  8.823510522257956e+05;  3.039762576167721e-08;  1.072479161311670e+04
- 2.240093900663180e+04;  2.240093900663139e+04;  2.331427770314304e-07;  2.722414900161900e+02
- 1.781136797772570e+06;  1.781136797772572e+06;  7.253817683831683e-08;  2.164938236653500e+04
- 6.214166082804410e+05;  6.214166082804408e+05;  6.796324227463879e-08;  7.553176990061370e+03
- 7.504118855811940e+05;  7.504118855811941e+05;  2.948893254754258e-08;  9.121093059728930e+03
- 1.525062498013260e+06;  1.525062498013265e+06;  4.374201765323614e-08;  1.853684198502500e+04
- 6.790682085352920e+05;  6.790682085352917e+05;  3.117208882706876e-08;  8.253922570619779e+03
- 4.478266872045060e+05;  4.478266872045057e+05;  3.922258820073917e-06;  5.443220467314520e+03
- 3.368902807230350e+05;  3.368902807230347e+05;  3.974555365702647e-08;  4.094806958560790e+03
- 4.680791492170390e+05;  4.680791492170393e+05;  7.178175366749162e-09;  5.689385763130150e+03
- 1.404060535190450e+06;  1.404060535190449e+06;  3.310728859521713e-07;  1.706608331898460e+04
- 1.827150953904310e+06;  1.827150953904310e+06;  5.763294101941985e-08;  2.220867675576230e+04
--3.339445722172610e+04; -3.339445722172646e+04;  1.705876199821157e-07; -4.059422403605510e+02
- 1.443453595965310e+06;  1.443453595965309e+06;  3.511555629631250e-08;  1.754489939901110e+04
- 1.550858369653510e+06;  1.550858369653510e+06;  1.829091447530946e-08;  1.885038650015730e+04
- 3.296237786603260e+05;  3.296237786603260e+05;  9.525996048208857e-07;  4.006483838656740e+03
- 5.963622714767930e+05;  5.963622714767937e+05;  1.373023008233051e-06;  7.248645707237480e+03
--9.149156549019570e+05; -9.149156549019575e+05;  1.052237002617895e-07;  6.426471507941080e+03
--1.293976980851750e+06; -1.293976980851752e+06;  1.242384899016401e-08;  9.089056620953350e+03
--5.569920711895199e+05; -5.569920711895211e+05;  3.136787828168589e-08;  3.912361150617040e+03
--2.294033396379730e+06; -2.294033396379733e+06;  2.185232400397477e-08;  1.611360685053020e+04
--1.213629166754780e+06; -1.213629166754777e+06;  2.705431178856616e-08;  8.524681204540260e+03
- 2.928090050997690e+05;  2.928090050997691e+05;  3.294636654535805e-08; -2.056772443095590e+03
--2.235342648617320e+06; -2.235342648617312e+06;  2.123583872053065e-06;  1.570135400378780e+04
--3.732932410426960e+06; -3.732932410426958e+06;  1.584814746579403e-08;  2.622065505551910e+04
--2.522104747768270e+05; -2.522104747768275e+05;  2.866436191254619e-07;  1.771528293961170e+03
--9.888966566957420e+04; -9.888966566957439e+04;  2.468066756691430e-08;  6.945793256111270e+02
--1.370204376681970e+06; -1.370204376681970e+06;  7.268458266839257e-08;  9.624489585140651e+03
--3.104420517264010e+06; -3.104420517264019e+06;  4.422776414490086e-08;  2.180589075339250e+04
--2.388277988221880e+06; -2.388277988221888e+06;  7.983548813793096e-07;  1.677559537389950e+04
--7.249776584633330e+05; -7.249776584633330e+05;  1.789320551006325e-08;  5.092317778380260e+03
--1.794477913928580e+06; -1.794477913928585e+06;  2.085418494861554e-06;  1.260465223255950e+04
--2.232131158999780e+05; -2.232131158999782e+05;  4.613095030252132e-08;  1.567846380661040e+03
- 4.230460058498780e+05;  4.230460058498792e+05;  1.927528616754291e-07; -2.971577187309380e+03
--3.047818615882230e+06; -3.047818615882234e+06;  1.560034821681974e-06;  2.140831028481470e+04
--2.409342601537700e+06; -2.409342601537698e+06;  3.854824353113469e-08;  1.692355646037090e+04
--7.428145854664950e+05; -7.428145854664957e+05;  8.907502601228915e-09;  5.217607099785680e+03
--5.715794306470060e+05; -5.715794306470070e+05;  4.249579387725456e-08;  4.014825009298010e+03
--2.195610268663400e+06; -2.195610268663394e+06;  1.508229600050627e-09;  1.542226764838730e+04
--9.640203794275450e+05; -9.640203794275469e+05;  9.425436737159602e-07;  6.771390653667730e+03
--2.102214669944520e+06; -2.102214669944522e+06;  2.461775162911714e-05;  1.476624260110920e+04
--8.906491793373150e+05; -8.906491793373162e+05;  7.320119248823469e-08;  6.256020047529450e+03
--2.207063832186290e+06; -2.207063832186288e+06;  1.440749268450898e-07;  1.550271924204160e+04
--7.494023253802230e+05; -7.494023253802244e+05;  1.997001442624077e-08;  5.263880399184100e+03
--2.494089085594850e+06; -2.494089085594850e+06;  7.881977896794234e-04;  1.751882936068880e+04
--7.584800943859300e+05; -7.584800943859307e+05;  4.795308237612606e-08;  5.327644046296790e+03
--2.025827981910110e+06; -2.025827981910114e+06;  5.949481923044429e-06;  1.422969073099650e+04
--2.354065357355290e+06; -2.354065357355291e+06;  1.863267201710832e-08;  1.653528058683390e+04
--1.588621543140250e+06; -1.588621543140251e+06;  1.563477342062043e-08;  1.115868538942120e+04
--3.175419951886790e+06; -3.175419951886789e+06;  1.516968856813277e-08;  2.230460171310890e+04
--2.152215923304610e+06; -2.152215923304610e+06;  3.558510316535865e-10;  1.511745908567040e+04
--5.471576306240950e+05; -5.471576306240946e+05;  2.732675013220533e-05;  3.843282545001370e+03
--2.672876703571220e+06; -2.672876703571219e+06;  9.276119341407247e-09;  1.877466056627420e+04
--2.080211959730500e+06; -2.080211959730501e+06;  5.366932486308832e-08;  1.461169215996120e+04
--2.578377052468330e+06; -2.578377052468333e+06;  1.245275388419069e-05;  1.811088047659560e+04
diff --git a/tests/pytest/test_descriptor_identifier/model_files/train_log_regressor.dat b/tests/pytest/test_descriptor_identifier/model_files/train_log_regressor.dat
new file mode 100644
index 0000000000000000000000000000000000000000..f33da46e688e73a3c081fb85dd020bd315e3a8b7
--- /dev/null
+++ b/tests/pytest/test_descriptor_identifier/model_files/train_log_regressor.dat
@@ -0,0 +1,109 @@
+# exp(c0) * ((B + A))^a0 * ((|D - B|))^a1
+# Property Label: $Prop$; Unit of the Property: Unitless
+# RMSE: 3.17364877036896e-10; Max AE: 3.06818037643097e-09
+# Coefficients
+# Task   a0                      a1                      c0
+# all ,  1.199999999999988e+00, -1.950000000000029e+00,  2.194569927587456e-13, 
+# Feature Rung, Units, and Expressions
+# 0;  1; Unitless;                                         1|0|add; (B + A); $\left(B + A\right)$; (B + A); B,A
+# 1;  1; Unitless;                                         3|1|abd; (|D - B|); $\left(\left|D - B\right|\right)$; abs(D - B); D,B
+# Number of Samples Per Task
+# Task, n_mats_train            
+# all , 95                    
+
+# Sample ID , Property Value        ,  Property Value (EST) ,  Feature 0 Value      ,  Feature 1 Value      
+4           ,  1.519800396960310e+01,  1.519800396960442e+01,  3.438939914151597e+02,  9.012230335875859e+00
+5           ,  3.082854872077400e-02,  3.082854872077340e-02,  2.313168167465870e+02,  1.697432835667080e+02
+6           ,  1.133100818289460e-01,  1.133100818289438e-01,  8.407731739581370e+02,  1.926605752183610e+02
+7           ,  7.197310366722802e-02,  7.197310366722687e-02,  6.369361245894850e+02,  2.049575936528104e+02
+8           ,  7.912486940833201e-02,  7.912486940833070e-02,  7.663571974665711e+02,  2.187773203601512e+02
+9           ,  8.439209844704601e-02,  8.439209844704454e-02,  7.389799343632981e+02,  2.069792773634640e+02
+10          ,  4.446751053678399e-02,  4.446751053678275e-02,  8.713296805098360e+02,  3.181665053693860e+02
+11          ,  3.260763739268500e-02,  3.260763739268451e-02,  3.739207052305880e+02,  2.216405779245290e+02
+12          ,  2.659076165803100e-02,  2.659076165803091e-02,  3.843613433302889e+02,  2.502876486689600e+02
+13          ,  8.826773262925121e-01,  8.826773262925279e-01,  7.039698147236641e+02,  6.027466528089599e+01
+14          ,  2.928632647031510e+00,  2.928632647031618e+00,  4.452451369595900e+02,  2.458056479532499e+01
+15          ,  4.117875847039799e-02,  4.117875847039633e-02,  8.554373875375860e+02,  3.272257710300721e+02
+16          ,  2.951523999224001e-02,  2.951523999223898e-02,  8.424529451490290e+02,  3.845275118087096e+02
+17          ,  1.038814423429120e-01,  1.038814423429122e-01,  5.130010777617300e+02,  1.486293559647466e+02
+18          ,  7.944738653256701e-02,  7.944738653256557e-02,  6.128477041381821e+02,  1.902635610424520e+02
+19          ,  4.900487147159410e-01,  4.900487147159518e-01,  5.265477976200372e+02,  6.816832432996031e+01
+20          ,  3.150839556853410e-01,  3.150839556853419e-01,  8.225136459671780e+02,  1.124997378169470e+02
+21          ,  3.366288296423890e-01,  3.366288296423908e-01,  5.742923501838560e+02,  8.717953102189320e+01
+22          ,  5.962507952579650e-01,  5.962507952579738e-01,  6.654704045820331e+02,  7.119912027188195e+01
+23          ,  2.400899638773800e-02,  2.400899638773739e-02,  8.808024141661990e+02,  4.393497195229754e+02
+24          ,  7.022217337545830e-01,  7.022217337546094e-01,  5.155660536438641e+02,  5.595374829983299e+01
+25          ,  8.079957368025490e-01,  8.079957368025489e-01,  4.378818291405840e+02,  4.709046110758300e+01
+26          ,  2.730384017923001e-03,  2.730384017922647e-03,  9.621251572317161e+01,  3.429314037180331e+02
+27          ,  3.476023433707601e-02,  3.476023433707583e-02,  4.668105904652360e+02,  2.458730017989080e+02
+28          ,  1.033251407888760e-01,  1.033251407888768e-01,  4.505370572660290e+02,  1.375942596859600e+02
+29          ,  6.951539957057601e-02,  6.951539957057493e-02,  6.662678085133230e+02,  2.145036333419410e+02
+30          ,  2.679208648468900e-02,  2.679208648468845e-02,  5.372064504520050e+02,  3.063637649525460e+02
+31          ,  6.968520346432000e-02,  6.968520346431904e-02,  6.187516227958720e+02,  2.046998200569710e+02
+32          ,  3.381465799307300e-02,  3.381465799307189e-02,  6.810202085072150e+02,  3.146213607590392e+02
+33          ,  3.643736054375200e-02,  3.643736054375259e-02,  2.572430743456164e+02,  1.663246723946186e+02
+34          ,  7.278291999308998e-03,  7.278291999308579e-03,  2.693484396900020e+02,  3.908168434294090e+02
+35          ,  6.316281996250200e-02,  6.316281996250024e-02,  9.135725638562590e+02,  2.736173705929961e+02
+36          ,  8.468725004934602e-02,  8.468725004934741e-02,  2.809869480578874e+02,  1.139516689318346e+02
+37          ,  1.932381683428840e-01,  1.932381683428862e-01,  3.733083185023398e+02,  8.890313404598720e+01
+38          ,  2.398998011823999e-03,  2.398998011823725e-03,  7.342674197119210e+01,  3.103076065966969e+02
+39          ,  1.534595856761850e-01,  1.534595856761857e-01,  3.985077579147360e+02,  1.041616261435750e+02
+40          ,  8.244336063985997e-03,  8.244336063986115e-03,  3.001085764106482e+02,  3.918475439005468e+02
+41          ,  3.886059411316600e-02,  3.886059411316534e-02,  7.315035792926520e+02,  3.061422263828760e+02
+42          ,  6.811948195548198e-02,  6.811948195548211e-02,  3.928364390370920e+02,  1.565886937004750e+02
+43          ,  6.459773257888570e-01,  6.459773257888679e-01,  5.465568008676980e+02,  6.053731049174900e+01
+44          ,  5.631813966997500e-02,  5.631813966997550e-02,  2.529741980124930e+02,  1.316768168506250e+02
+45          ,  4.038906092250250e+00,  4.038906092250709e+00,  4.416287415209720e+02,  2.074068508911199e+01
+46          ,  5.095670337541400e-02,  5.095670337541516e-02,  1.322100453255174e+02,  9.297521479807349e+01
+47          ,  7.712183341705148e+00,  7.712183341705224e+00,  6.257947896036660e+02,  1.844669020826200e+01
+48          ,  2.143288954910001e-02,  2.143288954909962e-02,  6.411196459493250e+02,  3.830038745317325e+02
+49          ,  2.681535703012700e+00,  2.681535703012699e+00,  7.406192807365251e+02,  3.517391703663401e+01
+50          ,  7.509721670595060e-01,  7.509721670595433e-01,  3.716299006559721e+02,  4.419663440833502e+01
+51          ,  1.828936588316000e-02,  1.828936588315966e-02,  3.642993763843590e+02,  2.934014729950570e+02
+52          ,  3.233256389101231e-01,  3.233256389101388e-01,  2.659964261400100e+02,  5.542399861131020e+01
+53          ,  3.377096130879099e-02,  3.377096130879031e-02,  5.679894941638599e+02,  2.815605236189350e+02
+54          ,  3.182647391923040e-01,  3.182647391923110e-01,  4.064383771301322e+02,  7.252962777507179e+01
+55          ,  5.438890522599680e-01,  5.438890522599867e-01,  4.273783288024700e+02,  5.683256680328100e+01
+56          ,  1.481302826808700e-02,  1.481302826808676e-02,  4.133473006763246e+02,  3.533226046080044e+02
+57          ,  3.577172884133230e+00,  3.577172884133309e+00,  7.218376832167100e+02,  2.986572711327699e+01
+58          ,  1.299005831916950e-01,  1.299005831917018e-01,  1.285245757941580e+02,  5.654524088309321e+01
+59          ,  3.708937574486999e-02,  3.708937574486953e-02,  6.335326464874350e+02,  2.870012121816870e+02
+60          ,  1.492138286110100e-02,  1.492138286110073e-02,  3.863826024870907e+02,  3.376906029050725e+02
+63          ,  1.327365670011720e+00,  1.327365670011747e+00,  5.237947408580530e+02,  4.076222064200002e+01
+64          ,  2.866316177063399e-02,  2.866316177063361e-02,  3.855632680601000e+02,  2.413011142985870e+02
+65          ,  6.631997219165701e-02,  6.631997219165733e-02,  4.280128658578052e+02,  1.673566606782878e+02
+66          ,  2.252288462526840e-01,  2.252288462526819e-01,  8.862639951883659e+02,  1.399177054996980e+02
+67          ,  1.939547592203930e-01,  1.939547592203993e-01,  2.788525200152330e+02,  7.415282768733898e+01
+68          ,  9.658854365090298e-02,  9.658854365090316e-02,  4.884877541877030e+02,  1.497028793217050e+02
+69          ,  4.500925870563399e-02,  4.500925870563310e-02,  4.235215426156546e+02,  2.028398139138314e+02
+70          ,  1.485220038053790e-01,  1.485220038053789e-01,  6.831888106888690e+02,  1.475894902451720e+02
+71          ,  2.337735635796860e-01,  2.337735635796849e-01,  8.342606963012420e+02,  1.322570533860960e+02
+72          ,  7.632953740424002e-02,  7.632953740423876e-02,  5.837061828406540e+02,  1.884740442555270e+02
+73          ,  1.875123260864800e-02,  1.875123260864805e-02,  2.508515593293792e+02,  2.302448476054018e+02
+74          ,  1.143618678293300e-01,  1.143618678293320e-01,  3.086501287230788e+02,  1.034932580207732e+02
+75          ,  5.978012396725100e-02,  5.978012396725177e-02,  3.485341673523723e+02,  1.555483633655640e+02
+76          ,  3.946651280306101e-02,  3.946651280306003e-02,  8.938741626320890e+02,  3.435996973088180e+02
+77          ,  1.204459101802500e-02,  1.204459101802521e-02,  2.599346402038567e+02,  2.953108836910043e+02
+78          ,  2.529290143529000e-02,  2.529290143528984e-02,  4.096650540299540e+02,  2.670690833052651e+02
+79          ,  4.302255370929000e-03,  4.302255370929386e-03,  2.054402334296125e+02,  4.331917853872475e+02
+80          ,  7.413362701300201e-02,  7.413362701300184e-02,  4.741108482074520e+02,  1.683350987872200e+02
+81          ,  1.608368020386020e-01,  1.608368020386036e-01,  6.012841787984150e+02,  1.309739033036920e+02
+82          ,  2.012698101721840e+00,  2.012698101721908e+00,  7.875776874022081e+02,  4.232047036179603e+01
+83          ,  8.646323283366900e-02,  8.646323283366776e-02,  7.395727756893370e+02,  2.045226204564196e+02
+84          ,  9.652399673282999e-02,  9.652399673282866e-02,  7.026523686802810e+02,  1.873010296193923e+02
+85          ,  2.572548047258240e+01,  2.572548047259085e+01,  3.533630724218510e+02,  6.996370005944016e+00
+86          ,  3.123278266227202e+03,  3.123278266224134e+03,  4.386176872987210e+02,  6.820105972979604e-01
+87          ,  2.458515683738300e-02,  2.458515683738247e-02,  5.122116092015239e+02,  3.109205259959841e+02
+88          ,  1.820588111799500e-02,  1.820588111799451e-02,  6.044749572906400e+02,  4.016211269546539e+02
+89          ,  1.889961422044330e-01,  1.889961422044326e-01,  5.672537190195014e+02,  1.163273919058436e+02
+90          ,  3.068740985358300e-02,  3.068740985358201e-02,  7.959374760788080e+02,  3.639771398836220e+02
+91          ,  8.475103351214100e-02,  8.475103351214062e-02,  3.904353683561130e+02,  1.394661163632714e+02
+92          ,  1.995994367566500e-02,  1.995994367566429e-02,  3.512678527179855e+02,  2.743215240672606e+02
+93          ,  1.710251765310500e-02,  1.710251765310494e-02,  2.436026752963562e+02,  2.370557369999488e+02
+94          ,  7.012897549640100e-02,  7.012897549640053e-02,  3.573850729681119e+02,  1.455486916818470e+02
+95          ,  6.819280465835999e-03,  6.819280465835956e-03,  1.889565532600872e+02,  3.248938081419878e+02
+96          ,  9.406739334267000e-03,  9.406739334266842e-03,  1.458637935025617e+02,  2.349210847816180e+02
+97          ,  2.697550405968400e-02,  2.697550405968437e-02,  2.396630744228114e+02,  1.857808366160160e+02
+98          ,  7.117801960173380e+02,  7.117801960177312e+02,  4.956371843200068e+02,  1.569715334858017e+00
+99          ,  2.824169537084470e+00,  2.824169537084519e+00,  5.522388458862010e+02,  2.859148464921600e+01
+100         ,  3.850029324009000e-01,  3.850029324009044e-01,  5.823812413495190e+02,  8.208213111468339e+01
diff --git a/tests/pytest/test_descriptor_identifier/model_files/train_regressor.dat b/tests/pytest/test_descriptor_identifier/model_files/train_regressor.dat
new file mode 100644
index 0000000000000000000000000000000000000000..f102b98144072288551016364683f3bdef94f55b
--- /dev/null
+++ b/tests/pytest/test_descriptor_identifier/model_files/train_regressor.dat
@@ -0,0 +1,111 @@
+# c0 + a0 * ((B / A) / A) + a1 * ((D + C) + (|D|))
+# Property Label: $Prop$; Unit of the Property: Unitless
+# RMSE: 2.73079744081635e-09; Max AE: 9.31322574615479e-09
+# Coefficients
+# Task   a0                      a1                      c0
+# X   , -7.215478485316414e+00,  8.227180000000006e+01,  3.141589999617774e+00, 
+# Y   ,  9.914521320736678e+01, -1.423659000000001e+02, -5.254860000134174e+00, 
+# Feature Rung, Units, and Expressions
+# 0;  2; m^-2 * s;                                         1|0|div|0|div; ((B / A) / A); $\left(\frac{ \left(\frac{ B }{ A } \right) }{ A } \right)$; ((B ./ A) ./ A); B,A,A
+# 1;  2; Unitless;                                         3|2|add|3|abs|add; ((D + C) + (|D|)); $\left(\left(D + C\right) + \left(\left|D\right|\right)\right)$; ((D + C) + abs(D)); D,C,D
+# Number of Samples Per Task
+# Task, n_mats_train            
+# X   , 57                    
+# Y   , 38                    
+
+# Sample ID , Property Value        ,  Property Value (EST) ,  Feature 0 Value      ,  Feature 1 Value      
+4           ,  1.431871750857350e+06,  1.431871750857357e+06,  2.697060006837512e-06,  1.740412400466280e+04
+5           ,  2.132341513916110e+06,  2.132341513916109e+06,  2.065168448030928e-08,  2.591821708442330e+04
+6           ,  1.849456859032140e+06,  1.849456859032137e+06,  1.626134513838345e-08,  2.247980131031840e+04
+7           ,  4.163774736839510e+05,  4.163774736839511e+05,  2.378687110561754e-08,  5.060960524677020e+03
+8           ,  1.834852243834940e+06,  1.834852243834942e+06,  2.057971012989485e-03,  2.230228483021140e+04
+9           ,  2.030615002138700e+06,  2.030615002138701e+06,  2.033750916695687e-08,  2.468174830924870e+04
+10          ,  4.182049069917290e+05,  4.182049069917286e+05,  5.342688466073691e-08,  5.083172671585090e+03
+11          ,  1.600764653367910e+06,  1.600764653367909e+06,  1.574249399443082e-07,  1.945698905067160e+04
+12          , -2.374423038913250e+05, -2.374423038913255e+05,  9.522984388019029e-08, -2.886109766416170e+03
+13          ,  3.895694030199360e+05,  3.895694030199359e+05,  2.998984401431883e-07,  4.735112899342180e+03
+14          ,  1.097874595585220e+06,  1.097874595585217e+06,  8.407905381849565e-08,  1.334444431744320e+04
+15          ,  8.965124261335440e+05,  8.965124261335423e+05,  6.976681145109002e-08,  1.089692074980790e+04
+16          ,  1.247533441655420e+04,  1.247533441655384e+04,  4.240950437796523e-07,  1.515974225629470e+02
+17          ,  6.432185312889291e+05,  6.432185312889282e+05,  2.623773234135730e-08,  7.818175726058230e+03
+18          ,  8.880982463097370e+05,  8.880982463097401e+05,  5.111909378807165e-08,  1.079464779815330e+04
+19          ,  1.636015660236120e+06,  1.636015660236114e+06,  1.749950739140699e-05,  1.988545915820950e+04
+20          ,  1.523022284718580e+06,  1.523022284718574e+06,  7.444571741652756e-09,  1.851204353288280e+04
+21          , -1.806691656141680e+04, -1.806691656141721e+04,  5.124135740795190e-09, -2.196385414124869e+02
+22          ,  7.535749948523890e+05,  7.535749948523893e+05,  2.530373185333834e-04,  9.159540147270080e+03
+23          ,  4.846796705070550e+05,  4.846796705070554e+05,  1.516116594933527e-08,  5.891162329220520e+03
+24          ,  1.418886295186410e+06,  1.418886295186410e+06,  5.602337173621954e-08,  1.724628795768190e+04
+25          ,  7.468643665926130e+05,  7.468643665926136e+05,  7.350449259326487e-08,  9.077973558414231e+03
+26          ,  8.266764695919290e+05,  8.266764695919300e+05,  1.227812638317768e-08,  1.004807635182430e+04
+27          ,  9.048709052557090e+05,  9.048709052557108e+05,  9.684184878175625e-06,  1.099851666957070e+04
+28          ,  1.081673040470480e+06,  1.081673040470486e+06,  3.095754649186858e-08,  1.314751711863250e+04
+29          ,  1.602766311029420e+06,  1.602766311029422e+06,  1.942687305315588e-07,  1.948131886552650e+04
+30          ,  8.482960813663350e+05,  8.482960813663341e+05,  1.994254893455140e-07,  1.031085912521390e+04
+31          ,  8.819870504835790e+05,  8.819870504835779e+05,  5.815040616166881e-08,  1.072036723268480e+04
+32          ,  1.384967839241260e+06,  1.384967839241261e+06,  4.585957732720945e-08,  1.683401478576610e+04
+33          ,  1.435243993088210e+06,  1.435243993088208e+06,  3.530173492054727e-08,  1.744511304600680e+04
+34          ,  1.482822441554200e+06,  1.482822441554193e+06,  2.365805697619391e-08,  1.802342114751790e+04
+35          ,  1.159462504579730e+06,  1.159462504579731e+06,  3.955375090312369e-09,  1.409303507386200e+04
+36          ,  1.385445915520980e+06,  1.385445915520977e+06,  7.215270937489370e-09,  1.683982572316430e+04
+37          ,  1.078840903789160e+06,  1.078840903789154e+06,  7.719292312078010e-08,  1.311309296988410e+04
+38          ,  3.220723182574270e+05,  3.220723182574275e+05,  6.725877658255970e-08,  3.914697097522030e+03
+39          ,  1.547503571926120e+06,  1.547503571926122e+06,  3.349707138495565e-07,  1.880960949363620e+04
+40          ,  1.174714507507300e+06,  1.174714507507300e+06,  4.195999687630714e-08,  1.427842062429170e+04
+41          ,  9.487534028084230e+04,  9.487534028084180e+04,  6.018658340475335e-07,  1.153155743464770e+03
+42          ,  3.621603641205080e+05,  3.621603641205075e+05,  3.428967326845969e-09,  4.401960605341470e+03
+43          ,  6.736173787551570e+05,  6.736173787551571e+05,  9.033100765464530e-08,  8.187668644247589e+03
+44          ,  8.823510522257930e+05,  8.823510522257955e+05,  3.039762576167721e-08,  1.072479161311670e+04
+45          ,  2.240093900663180e+04,  2.240093900663138e+04,  2.331427770314304e-07,  2.722414900161900e+02
+46          ,  1.781136797772570e+06,  1.781136797772572e+06,  7.253817683831682e-08,  2.164938236653500e+04
+47          ,  6.214166082804410e+05,  6.214166082804408e+05,  6.796324227463879e-08,  7.553176990061371e+03
+48          ,  7.504118855811940e+05,  7.504118855811940e+05,  2.948893254754258e-08,  9.121093059728930e+03
+49          ,  1.525062498013260e+06,  1.525062498013265e+06,  4.374201765323614e-08,  1.853684198502500e+04
+50          ,  6.790682085352920e+05,  6.790682085352915e+05,  3.117208882706876e-08,  8.253922570619779e+03
+51          ,  4.478266872045060e+05,  4.478266872045057e+05,  3.922258820073917e-06,  5.443220467314520e+03
+52          ,  3.368902807230350e+05,  3.368902807230346e+05,  3.974555365702647e-08,  4.094806958560790e+03
+53          ,  4.680791492170390e+05,  4.680791492170392e+05,  7.178175366749161e-09,  5.689385763130150e+03
+54          ,  1.404060535190450e+06,  1.404060535190449e+06,  3.310728859521714e-07,  1.706608331898460e+04
+55          ,  1.827150953904310e+06,  1.827150953904310e+06,  5.763294101941985e-08,  2.220867675576230e+04
+56          , -3.339445722172610e+04, -3.339445722172646e+04,  1.705876199821157e-07, -4.059422403605511e+02
+57          ,  1.443453595965310e+06,  1.443453595965309e+06,  3.511555629631250e-08,  1.754489939901110e+04
+58          ,  1.550858369653510e+06,  1.550858369653510e+06,  1.829091447530946e-08,  1.885038650015730e+04
+59          ,  3.296237786603260e+05,  3.296237786603260e+05,  9.525996048208856e-07,  4.006483838656740e+03
+60          ,  5.963622714767930e+05,  5.963622714767935e+05,  1.373023008233051e-06,  7.248645707237480e+03
+63          , -9.149156549019570e+05, -9.149156549019575e+05,  1.052237002617895e-07,  6.426471507941080e+03
+64          , -1.293976980851750e+06, -1.293976980851752e+06,  1.242384899016401e-08,  9.089056620953350e+03
+65          , -5.569920711895199e+05, -5.569920711895211e+05,  3.136787828168589e-08,  3.912361150617040e+03
+66          , -2.294033396379730e+06, -2.294033396379733e+06,  2.185232400397477e-08,  1.611360685053020e+04
+67          , -1.213629166754780e+06, -1.213629166754777e+06,  2.705431178856616e-08,  8.524681204540260e+03
+68          ,  2.928090050997690e+05,  2.928090050997690e+05,  3.294636654535805e-08, -2.056772443095590e+03
+69          , -2.235342648617320e+06, -2.235342648617312e+06,  2.123583872053065e-06,  1.570135400378780e+04
+70          , -3.732932410426960e+06, -3.732932410426958e+06,  1.584814746579403e-08,  2.622065505551910e+04
+71          , -2.522104747768270e+05, -2.522104747768276e+05,  2.866436191254619e-07,  1.771528293961170e+03
+72          , -9.888966566957420e+04, -9.888966566957440e+04,  2.468066756691430e-08,  6.945793256111270e+02
+73          , -1.370204376681970e+06, -1.370204376681970e+06,  7.268458266839257e-08,  9.624489585140651e+03
+74          , -3.104420517264010e+06, -3.104420517264019e+06,  4.422776414490086e-08,  2.180589075339250e+04
+75          , -2.388277988221880e+06, -2.388277988221888e+06,  7.983548813793096e-07,  1.677559537389950e+04
+76          , -7.249776584633330e+05, -7.249776584633330e+05,  1.789320551006325e-08,  5.092317778380260e+03
+77          , -1.794477913928580e+06, -1.794477913928585e+06,  2.085418494861554e-06,  1.260465223255950e+04
+78          , -2.232131158999780e+05, -2.232131158999782e+05,  4.613095030252133e-08,  1.567846380661040e+03
+79          ,  4.230460058498780e+05,  4.230460058498792e+05,  1.927528616754292e-07, -2.971577187309380e+03
+80          , -3.047818615882230e+06, -3.047818615882234e+06,  1.560034821681974e-06,  2.140831028481470e+04
+81          , -2.409342601537700e+06, -2.409342601537698e+06,  3.854824353113469e-08,  1.692355646037090e+04
+82          , -7.428145854664950e+05, -7.428145854664957e+05,  8.907502601228917e-09,  5.217607099785680e+03
+83          , -5.715794306470060e+05, -5.715794306470070e+05,  4.249579387725456e-08,  4.014825009298010e+03
+84          , -2.195610268663400e+06, -2.195610268663394e+06,  1.508229600050627e-09,  1.542226764838730e+04
+85          , -9.640203794275450e+05, -9.640203794275469e+05,  9.425436737159603e-07,  6.771390653667730e+03
+86          , -2.102214669944520e+06, -2.102214669944522e+06,  2.461775162911713e-05,  1.476624260110920e+04
+87          , -8.906491793373150e+05, -8.906491793373162e+05,  7.320119248823469e-08,  6.256020047529450e+03
+88          , -2.207063832186290e+06, -2.207063832186288e+06,  1.440749268450898e-07,  1.550271924204160e+04
+89          , -7.494023253802230e+05, -7.494023253802245e+05,  1.997001442624077e-08,  5.263880399184100e+03
+90          , -2.494089085594850e+06, -2.494089085594850e+06,  7.881977896794234e-04,  1.751882936068880e+04
+91          , -7.584800943859300e+05, -7.584800943859307e+05,  4.795308237612606e-08,  5.327644046296790e+03
+92          , -2.025827981910110e+06, -2.025827981910114e+06,  5.949481923044429e-06,  1.422969073099650e+04
+93          , -2.354065357355290e+06, -2.354065357355291e+06,  1.863267201710832e-08,  1.653528058683390e+04
+94          , -1.588621543140250e+06, -1.588621543140251e+06,  1.563477342062043e-08,  1.115868538942120e+04
+95          , -3.175419951886790e+06, -3.175419951886789e+06,  1.516968856813277e-08,  2.230460171310890e+04
+96          , -2.152215923304610e+06, -2.152215923304610e+06,  3.558510316535865e-10,  1.511745908567040e+04
+97          , -5.471576306240950e+05, -5.471576306240947e+05,  2.732675013220533e-05,  3.843282545001370e+03
+98          , -2.672876703571220e+06, -2.672876703571219e+06,  9.276119341407247e-09,  1.877466056627420e+04
+99          , -2.080211959730500e+06, -2.080211959730501e+06,  5.366932486308832e-08,  1.461169215996120e+04
+100         , -2.578377052468330e+06, -2.578377052468333e+06,  1.245275388419069e-05,  1.811088047659560e+04
diff --git a/tests/pytest/test_descriptor_identifier/test_model.py b/tests/pytest/test_descriptor_identifier/test_log_reg_model_from_file.py
similarity index 69%
rename from tests/pytest/test_descriptor_identifier/test_model.py
rename to tests/pytest/test_descriptor_identifier/test_log_reg_model_from_file.py
index 3803b00b4bbe65be88917eb5bc6f8ceb3e1e7396..98bf0d82ce5f9944525effbb5f2fdc61e628cf60 100644
--- a/tests/pytest/test_descriptor_identifier/test_model.py
+++ b/tests/pytest/test_descriptor_identifier/test_log_reg_model_from_file.py
@@ -11,7 +11,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-from sissopp import ModelRegressor
+from sissopp.postprocess.load_models import load_model
 from pathlib import Path
 
 import numpy as np
@@ -24,23 +24,34 @@ class InvalidFeatureMade(Exception):
 parent = Path(__file__).parent
 
 
-def test_model():
-    model = ModelRegressor(
-        str(parent / "model_files/train.dat"), str(parent / "model_files/test.dat")
+def test_log_reg_model_from_file():
+    model = load_model(
+        str(parent / "model_files/train_log_regressor.dat"),
+        str(parent / "model_files/test_log_regressor.dat"),
     )
 
+    mat_fxn_fn = "model_log_regressor.m"
+    mat_fxn_fn_real = str(parent / "matlab_functions" / "model_log_regressor.m")
+
+    model.write_matlab_fxn(mat_fxn_fn)
+    actual_lines = open(mat_fxn_fn_real).readlines()
+    test_lines = open(mat_fxn_fn).readlines()
+
+    Path(mat_fxn_fn).unlink()
+    for tl, al in zip(test_lines, actual_lines):
+        assert tl == al
+
     assert np.all(np.abs(model.fit - model.prop_train) < 1e-7)
     assert np.all(np.abs(model.predict - model.prop_test) < 1e-7)
 
     assert np.all(np.abs(model.train_error) < 1e-7)
     assert np.all(np.abs(model.test_error) < 1e-7)
 
-    assert model.feats[0].postfix_expr == "1|0|sq:1.0,0.0|div:1.0,0.0"
-    assert model.feats[1].postfix_expr == "2"
+    assert model.feats[0].postfix_expr == "1|0|add"
+    assert model.feats[1].postfix_expr == "3|1|abd"
 
     actual_coefs = [
-        [-7.215479542045696, 82.27180000000007, 3.141589999622815],
-        [99.1452134115642, -142.3659000000001, -5.254860000110127],
+        [1.20, -1.95, 2.194569927587456e-13],
     ]
 
     assert np.all(
@@ -49,12 +60,6 @@ def test_model():
             for coef, actual in zip(model.coefs[0], actual_coefs[0])
         ]
     )
-    assert np.all(
-        [
-            abs(coef - actual) < 1e-8
-            for coef, actual in zip(model.coefs[1], actual_coefs[1])
-        ]
-    )
 
     assert model.rmse < 1e-7
     assert model.test_rmse < 1e-7
@@ -82,4 +87,4 @@ def test_model():
 
 
 if __name__ == "__main__":
-    test_model()
+    test_log_reg_model_from_file()
diff --git a/tests/pytest/test_descriptor_identifier/test_reg_model_from_file.py b/tests/pytest/test_descriptor_identifier/test_reg_model_from_file.py
new file mode 100644
index 0000000000000000000000000000000000000000..5ff6163787727a69a81a20b6ca7a77e0d7e9dceb
--- /dev/null
+++ b/tests/pytest/test_descriptor_identifier/test_reg_model_from_file.py
@@ -0,0 +1,97 @@
+# Copyright 2021 Thomas A. R. Purcell
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+from sissopp.postprocess.load_models import load_model
+from pathlib import Path
+
+import numpy as np
+
+
+class InvalidFeatureMade(Exception):
+    pass
+
+
+parent = Path(__file__).parent
+
+
+def test_reg_model_from_file():
+    model = load_model(
+        str(parent / "model_files/train_regressor.dat"),
+        str(parent / "model_files/test_regressor.dat"),
+    )
+
+    mat_fxn_fn = "model_regressor.m"
+    mat_fxn_fn_real = str(parent / "matlab_functions" / "model_regressor.m")
+
+    model.write_matlab_fxn(mat_fxn_fn)
+    actual_lines = open(mat_fxn_fn_real).readlines()
+    test_lines = open(mat_fxn_fn).readlines()
+
+    Path(mat_fxn_fn).unlink()
+    for tl, al in zip(test_lines, actual_lines):
+        assert tl == al
+
+    assert np.all(np.abs(model.fit - model.prop_train) < 1e-7)
+    assert np.all(np.abs(model.predict - model.prop_test) < 1e-7)
+
+    assert np.all(np.abs(model.train_error) < 1e-7)
+    assert np.all(np.abs(model.test_error) < 1e-7)
+
+    assert model.feats[0].postfix_expr == "1|0|div|0|div"
+    assert model.feats[1].postfix_expr == "3|2|add|3|abs|add"
+
+    actual_coefs = [
+        [-7.215478485316414, 82.2718000000000, 3.141589999617774],
+        [99.14521320736678, -142.365900000000, -5.254860000134174],
+    ]
+
+    assert np.all(
+        [
+            abs(coef - actual) < 1e-8
+            for coef, actual in zip(model.coefs[0], actual_coefs[0])
+        ]
+    )
+    assert np.all(
+        [
+            abs(coef - actual) < 1e-8
+            for coef, actual in zip(model.coefs[1], actual_coefs[1])
+        ]
+    )
+
+    assert model.rmse < 1e-7
+    assert model.test_rmse < 1e-7
+
+    assert model.max_ae < 1e-7
+    assert model.test_max_ae < 1e-7
+
+    assert model.mae < 1e-7
+    assert model.test_mae < 1e-7
+
+    assert model.mape < 1e-7
+    assert model.test_mape < 1e-7
+
+    assert model.percentile_25_ae < 1e-7
+    assert model.percentile_25_test_ae < 1e-7
+
+    assert model.percentile_50_ae < 1e-7
+    assert model.percentile_50_test_ae < 1e-7
+
+    assert model.percentile_75_ae < 1e-7
+    assert model.percentile_75_test_ae < 1e-7
+
+    assert model.percentile_95_ae < 1e-7
+    assert model.percentile_95_test_ae < 1e-7
+
+
+if __name__ == "__main__":
+    test_reg_model_from_file()