gitextract_jvogax4q/ ├── .clang-format ├── .clang-tidy ├── .codespellrc ├── .envrc ├── .github/ │ └── workflows/ │ ├── build-linux.yml │ ├── build-macos.yml │ ├── build-windows.yml │ ├── ci.yml │ └── test-linux.yml ├── .gitignore ├── .readthedocs.yml ├── BUILDING.md ├── CMakeLists.txt ├── CMakePresets.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── HACKING.md ├── LICENSE ├── README.md ├── cli/ │ ├── CMakeLists.txt │ └── source/ │ ├── operator_factory.cpp │ ├── operator_factory.hpp │ ├── operon_gp.cpp │ ├── operon_nsgp.cpp │ ├── operon_parse_model.cpp │ ├── pareto_front.cpp │ ├── pareto_front.hpp │ ├── reporter.hpp │ ├── util.cpp │ └── util.hpp ├── cmake/ │ ├── coverage.cmake │ ├── dev-mode.cmake │ ├── docs.cmake │ ├── get-git-revision.cmake │ ├── get-git-revision.cmake.in │ ├── install-config.cmake │ ├── install-rules.cmake │ ├── lint-targets.cmake │ ├── lint.cmake │ ├── open-cpp-coverage.cmake.example │ ├── prelude.cmake │ ├── project-is-top-level.cmake │ ├── spell-targets.cmake │ ├── spell.cmake │ ├── variables.cmake │ └── windows-set-path.cmake ├── data/ │ ├── AirfoilSelfNoise.csv │ ├── AirfoilSelfNoise.json │ ├── Breiman-I.csv │ ├── Breiman-I.json │ ├── Chemical-I.csv │ ├── Chemical-I.json │ ├── Chemical-II.csv │ ├── Chemical-II.json │ ├── Concrete.csv │ ├── Concrete.json │ ├── Flow_stress.csv │ ├── Flow_stress.json │ ├── FrictionDyn-OneHot.csv │ ├── FrictionDyn-OneHot.json │ ├── FrictionStat-OneHot.csv │ ├── FrictionStat-OneHot.json │ ├── Friedman-I.csv │ ├── Friedman-I.json │ ├── Friedman-II.csv │ ├── Friedman-II.json │ ├── GP-Challenge.csv │ ├── GP-Challenge.json │ ├── NasaBattery-1_10min.csv │ ├── NasaBattery-1_10min.json │ ├── NasaBattery-2_20min.csv │ ├── NasaBattery-2_20min.json │ ├── Nikuradse_1.csv │ ├── Nikuradse_1.json │ ├── Nikuradse_2.csv │ ├── Nikuradse_2.json │ ├── Pagie-1.csv │ ├── Pagie-1.json │ ├── Poly-10.csv │ ├── Poly-10.json │ ├── Sextic.csv │ ├── Sextic.json │ ├── Vladislavleva-1.csv │ ├── Vladislavleva-1.json │ ├── Vladislavleva-2.csv │ ├── Vladislavleva-2.json │ ├── Vladislavleva-3.csv │ ├── Vladislavleva-3.json │ ├── Vladislavleva-4.csv │ ├── Vladislavleva-4.json │ ├── Vladislavleva-5.csv │ ├── Vladislavleva-5.json │ ├── Vladislavleva-6.csv │ ├── Vladislavleva-6.json │ ├── Vladislavleva-7.csv │ ├── Vladislavleva-7.json │ ├── Vladislavleva-8.csv │ └── Vladislavleva-8.json ├── docs/ │ ├── Doxyfile.in │ ├── conf.py.in │ └── pages/ │ └── about.dox ├── example/ │ ├── CMakeLists.txt │ ├── custom_primitives.cpp │ └── empty_example.cpp ├── flake.nix ├── include/ │ └── operon/ │ ├── algorithms/ │ │ ├── config.hpp │ │ ├── ga_base.hpp │ │ ├── gp.hpp │ │ ├── nsga2.hpp │ │ └── solution_archive.hpp │ ├── analyzers/ │ │ ├── analyzer_base.hpp │ │ └── diversity.hpp │ ├── ceres/ │ │ ├── integer_sequence_algorithm.h │ │ ├── jet.h │ │ ├── jet_fwd.h │ │ ├── jet_traits.h │ │ ├── port.h │ │ └── tiny_solver.h │ ├── collections/ │ │ ├── bitset.hpp │ │ └── projection.hpp │ ├── core/ │ │ ├── aligned_allocator.hpp │ │ ├── buildinfo.hpp.in │ │ ├── comparison.hpp │ │ ├── concepts.hpp │ │ ├── constants.hpp │ │ ├── contracts.hpp │ │ ├── dataset.hpp │ │ ├── dispatch.hpp │ │ ├── distance.hpp │ │ ├── individual.hpp │ │ ├── node.hpp │ │ ├── operator.hpp │ │ ├── problem.hpp │ │ ├── pset.hpp │ │ ├── range.hpp │ │ ├── subtree.hpp │ │ ├── symbol_library.hpp │ │ ├── tree.hpp │ │ ├── types.hpp │ │ ├── variable.hpp │ │ └── version.hpp │ ├── error_metrics/ │ │ ├── correlation_coefficient.hpp │ │ ├── error_metrics.hpp │ │ ├── mean_absolute_error.hpp │ │ ├── mean_squared_error.hpp │ │ ├── normalized_mean_squared_error.hpp │ │ ├── r2_score.hpp │ │ ├── root_mean_squared_error.hpp │ │ └── sum_of_squared_errors.hpp │ ├── formatter/ │ │ └── formatter.hpp │ ├── hash/ │ │ ├── hash.hpp │ │ ├── metrohash64.hpp │ │ └── zobrist.hpp │ ├── interpreter/ │ │ ├── backend/ │ │ │ ├── arma/ │ │ │ │ ├── derivatives.hpp │ │ │ │ └── functions.hpp │ │ │ ├── arma.hpp │ │ │ ├── blaze/ │ │ │ │ ├── derivatives.hpp │ │ │ │ └── functions.hpp │ │ │ ├── blaze.hpp │ │ │ ├── eigen/ │ │ │ │ ├── derivatives.hpp │ │ │ │ └── functions.hpp │ │ │ ├── eigen.hpp │ │ │ ├── eve/ │ │ │ │ ├── derivatives.hpp │ │ │ │ └── functions.hpp │ │ │ ├── eve.hpp │ │ │ ├── fast_approx/ │ │ │ │ ├── derivatives.hpp │ │ │ │ ├── functions.hpp │ │ │ │ └── impl/ │ │ │ │ ├── aq.hpp │ │ │ │ ├── exp.hpp │ │ │ │ ├── inv.hpp │ │ │ │ ├── log.hpp │ │ │ │ ├── pow.hpp │ │ │ │ ├── sqrt.hpp │ │ │ │ ├── tanh.hpp │ │ │ │ └── trig.hpp │ │ │ ├── fast_v1.hpp │ │ │ ├── fast_v2.hpp │ │ │ ├── fast_v3.hpp │ │ │ ├── fastor/ │ │ │ │ ├── derivatives.hpp │ │ │ │ └── functions.hpp │ │ │ ├── fastor.hpp │ │ │ ├── plain/ │ │ │ │ ├── derivatives.hpp │ │ │ │ └── functions.hpp │ │ │ ├── plain.hpp │ │ │ ├── vdt/ │ │ │ │ ├── derivatives.hpp │ │ │ │ └── functions.hpp │ │ │ └── vdt.hpp │ │ ├── derivatives.hpp │ │ ├── dual.hpp │ │ ├── functions.hpp │ │ └── interpreter.hpp │ ├── mdspan/ │ │ └── mdspan.hpp │ ├── operators/ │ │ ├── creator.hpp │ │ ├── crossover.hpp │ │ ├── evaluator.hpp │ │ ├── generator.hpp │ │ ├── initializer.hpp │ │ ├── local_search.hpp │ │ ├── mutation.hpp │ │ ├── non_dominated_sorter.hpp │ │ ├── reinserter.hpp │ │ └── selector.hpp │ ├── optimizer/ │ │ ├── dynamic_cost_function.hpp │ │ ├── likelihood/ │ │ │ ├── gaussian_likelihood.hpp │ │ │ ├── likelihood_base.hpp │ │ │ └── poisson_likelihood.hpp │ │ ├── lm_cost_function.hpp │ │ ├── optimizer.hpp │ │ ├── solvers/ │ │ │ └── sgd.hpp │ │ └── tiny_cost_function.hpp │ ├── parser/ │ │ └── infix.hpp │ └── random/ │ └── random.hpp ├── operon.nix ├── ports/ │ ├── aria-csv/ │ │ ├── portfile.cmake │ │ └── vcpkg.json │ ├── fluky/ │ │ ├── portfile.cmake │ │ └── vcpkg.json │ ├── infix-parser/ │ │ ├── portfile.cmake │ │ └── vcpkg.json │ ├── lbfgs/ │ │ ├── portfile.cmake │ │ └── vcpkg.json │ └── vstat/ │ ├── portfile.cmake │ └── vcpkg.json ├── rtd/ │ ├── build.rst │ ├── conf.py │ ├── example.rst │ ├── features.rst │ ├── index.rst │ └── requirements.txt ├── source/ │ ├── algorithms/ │ │ ├── gp.cpp │ │ ├── nsga2.cpp │ │ └── solution_archive.cpp │ ├── core/ │ │ ├── dataset.cpp │ │ ├── distance.cpp │ │ ├── node.cpp │ │ ├── pset.cpp │ │ ├── tree.cpp │ │ └── version.cpp │ ├── formatter/ │ │ ├── dot.cpp │ │ ├── infix.cpp │ │ ├── postfix.cpp │ │ └── tree.cpp │ ├── hash/ │ │ ├── hash.cpp │ │ ├── metrohash64.cpp │ │ └── zobrist.cpp │ ├── interpreter/ │ │ └── interpreter.cpp │ ├── operators/ │ │ ├── creator/ │ │ │ ├── balanced.cpp │ │ │ ├── creator.cpp │ │ │ ├── koza.cpp │ │ │ └── ptc2.cpp │ │ ├── crossover.cpp │ │ ├── evaluator.cpp │ │ ├── evaluator_error_metrics.cpp │ │ ├── generator/ │ │ │ ├── basic.cpp │ │ │ ├── brood.cpp │ │ │ ├── os.cpp │ │ │ └── poly.cpp │ │ ├── local_search.cpp │ │ ├── mutation.cpp │ │ ├── non_dominated_sorter/ │ │ │ ├── best_order_sort.cpp │ │ │ ├── deductive_sort.cpp │ │ │ ├── dominance_degree_sort.cpp │ │ │ ├── efficient_sort.cpp │ │ │ ├── hierarchical_sort.cpp │ │ │ ├── merge_sort.cpp │ │ │ ├── rank_intersect.cpp │ │ │ └── rank_ordinal.cpp │ │ └── selector/ │ │ ├── proportional.cpp │ │ └── tournament.cpp │ └── parser/ │ └── infix.cpp ├── test/ │ ├── CMakeLists.txt │ └── source/ │ ├── implementation/ │ │ ├── autodiff.cpp │ │ ├── crossover.cpp │ │ ├── details.cpp │ │ ├── dispatch_table.cpp │ │ ├── error_metrics.cpp │ │ ├── evaluation.cpp │ │ ├── evaluator.cpp │ │ ├── hashing.cpp │ │ ├── infix_parser.cpp │ │ ├── initialization.cpp │ │ ├── mutation.cpp │ │ ├── nondominatedsort.cpp │ │ ├── optimizer.cpp │ │ ├── random.cpp │ │ ├── selection.cpp │ │ └── zobrist.cpp │ ├── operon_test.cpp │ ├── operon_test.hpp │ ├── performance/ │ │ ├── autodiff.cpp │ │ ├── creator.cpp │ │ ├── distance.cpp │ │ ├── evaluation.cpp │ │ ├── infix_parser.cpp │ │ └── nondominatedsort.cpp │ └── thirdparty/ │ ├── elki_stats.hpp │ └── nanobench.h ├── tools/ │ ├── bench_ndsort.py │ ├── benchmark_cache.py │ └── compare_operon.py └── vcpkg.json