gitextract_tk_667wh/ ├── .circleci/ │ └── config.yml ├── .github/ │ └── workflows/ │ ├── conda/ │ │ └── conda-env.yml │ ├── conda-bash.yml │ ├── conda-windows-clang.yml │ ├── conda-windows-eigen.yml │ ├── conda-windows-v142.yml │ ├── ubuntu-macos.yml │ └── windows-msys2.yml ├── .gitignore ├── .readthedocs.yaml ├── .travis.yml ├── CMakeLists.txt ├── COPYING ├── appendix/ │ ├── addon.xrst │ ├── appendix.xrst │ ├── bib.xrst │ ├── deprecated/ │ │ ├── compare_change.xrst │ │ ├── deprecated.xrst │ │ ├── fun_deprecated.xrst │ │ ├── include_deprecated.xrst │ │ └── omp_alloc.xrst │ ├── directory.xrst │ ├── faq.xrst │ ├── glossary.xrst │ ├── license.xrst │ ├── numeric_ad.xrst │ ├── whats_new/ │ │ ├── 2003.xrst │ │ ├── 2004.xrst │ │ ├── 2005.xrst │ │ ├── 2006.xrst │ │ ├── 2007.xrst │ │ ├── 2008.xrst │ │ ├── 2009.xrst │ │ ├── 2010.xrst │ │ ├── 2011.xrst │ │ ├── 2012.xrst │ │ ├── 2013.xrst │ │ ├── 2014.xrst │ │ ├── 2015.xrst │ │ ├── 2016.xrst │ │ ├── 2017.xrst │ │ ├── 2018.xrst │ │ ├── 2019.xrst │ │ ├── 2020.xrst │ │ ├── 2021.xrst │ │ ├── 2022.xrst │ │ ├── 2023.xrst │ │ ├── 2024.xrst │ │ ├── 2025.xrst │ │ ├── 2026.xrst │ │ └── whats_new.xrst │ └── wish_list.xrst ├── appveyor.yml ├── authors ├── batch_edit.sed ├── bin/ │ ├── appveyor.sh │ ├── build.bat │ ├── check_addon.sh │ ├── check_all.sh │ ├── check_copy.sh │ ├── check_define.sh │ ├── check_deprecated.sh │ ├── check_doxygen.sh │ ├── check_example.sh │ ├── check_if.sh │ ├── check_include_def.sh │ ├── check_include_file.sh │ ├── check_include_xrst.sh │ ├── check_invisible.sh │ ├── check_nominmax.sh │ ├── check_op_code.sh │ ├── check_sort.sh │ ├── check_tab.sh │ ├── check_tempfile.sh │ ├── check_trace.sh │ ├── check_user_def.py │ ├── check_version.sh │ ├── colpack.sh │ ├── deprecate_xam.sh │ ├── dev_settings.sh │ ├── dos_build.bat │ ├── doxyfile.sh │ ├── get_adolc.sh │ ├── get_colpack.sh │ ├── get_cppadcg.sh │ ├── get_fadbad.sh │ ├── get_ipopt.sh │ ├── get_optional.sh │ ├── get_sacado.sh │ ├── git_commit.sh │ ├── grep_and_sed.sh │ ├── group_list.sh │ ├── master_revert.sh │ ├── new_release.sh │ ├── no_bitwise.sh │ ├── package.sh │ ├── run_cmake.sh │ ├── run_configure.sh │ ├── run_doxygen.sh │ ├── run_xrst.sh │ ├── sort.sh │ ├── speed_branch.sh │ ├── speed_diff.sh │ ├── speed_new.sh │ ├── speed_package.sh │ ├── tag_month.sh │ ├── test_install.sh │ ├── test_multi_thread.sh │ ├── test_one.sh.in │ ├── trace.sh │ ├── travis.sh │ ├── twine.sh │ └── valgrind.sh ├── bug/ │ ├── boost_lu.sh │ ├── clang_simple.sh │ ├── cmake_target.sh │ ├── cppad_cg.sh │ ├── doxy_member.sh │ ├── eigen_shadow.sh │ ├── gcc_complex.sh │ ├── numeric_limit.sh │ ├── pow.sh │ ├── sparsity.sh │ ├── std_vector.sh │ ├── subgraph.sh │ ├── template.sh │ ├── test_install.sh │ └── vec_itr_speed.sh ├── cmake/ │ ├── add_check_executable.cmake │ ├── add_to_list.cmake │ ├── assert.cmake │ ├── assert_value_in_set.cmake │ ├── command_line_arg.cmake │ ├── compile_source_test.cmake │ ├── cppad_uninstall.cmake │ ├── dos_path_to_unix.cmake │ ├── eigen_info.cmake │ ├── pkgconfig_info.cmake │ ├── prefix_info.cmake │ ├── print_variable.cmake │ ├── run_source_test.cmake │ └── set_compile_flags.cmake ├── configure ├── cppad_ipopt/ │ ├── CMakeLists.txt │ ├── example/ │ │ ├── CMakeLists.txt │ │ ├── example.cpp │ │ ├── get_started.cpp │ │ ├── ode1.xrst │ │ ├── ode2.xrst │ │ ├── ode_check.cpp │ │ ├── ode_check.hpp │ │ ├── ode_fast.hpp │ │ ├── ode_fast_check.cpp │ │ ├── ode_problem.hpp │ │ ├── ode_run.hpp │ │ ├── ode_simple.hpp │ │ ├── ode_simple_check.cpp │ │ └── test.sh.in │ ├── speed/ │ │ ├── CMakeLists.txt │ │ ├── ode_speed.cpp │ │ ├── speed.cpp │ │ └── test.sh.in │ ├── src/ │ │ ├── CMakeLists.txt │ │ ├── cppad_ipopt_nlp.cpp │ │ ├── cppad_ipopt_nlp.hpp │ │ ├── fun_record.hpp │ │ ├── hes_fg_map.cpp │ │ ├── hes_fg_map.hpp │ │ ├── jac_g_map.cpp │ │ ├── jac_g_map.hpp │ │ ├── sparse_map2vec.cpp │ │ ├── sparse_map2vec.hpp │ │ ├── vec_fun_pattern.cpp │ │ └── vec_fun_pattern.hpp │ └── test/ │ ├── CMakeLists.txt │ ├── k_gt_one.cpp │ ├── multiple_solution.cpp │ ├── retape_k1_l1.cpp │ ├── retape_k1_l2.cpp │ ├── test.sh.in │ └── test_more.cpp ├── cppad_lib/ │ ├── CMakeLists.txt │ ├── code_gen_fun.cpp │ ├── cpp_graph_op.cpp │ ├── cppad_colpack.cpp │ ├── csrc_writer.cpp │ ├── json_lexer.cpp │ ├── json_parser.cpp │ ├── json_writer.cpp │ ├── link_dll_lib.cpp │ └── temp_file.cpp ├── epl-2.0.txt ├── example/ │ ├── CMakeLists.txt │ ├── abs_normal/ │ │ ├── CMakeLists.txt │ │ ├── abs_eval.cpp │ │ ├── abs_eval.hpp │ │ ├── abs_eval.xrst │ │ ├── abs_min_linear.cpp │ │ ├── abs_min_linear.hpp │ │ ├── abs_min_linear.xrst │ │ ├── abs_min_quad.cpp │ │ ├── abs_min_quad.hpp │ │ ├── abs_min_quad.xrst │ │ ├── abs_normal.cpp │ │ ├── abs_normal.xrst │ │ ├── abs_print_mat.hpp │ │ ├── get_started.cpp │ │ ├── lp_box.cpp │ │ ├── lp_box.hpp │ │ ├── lp_box.xrst │ │ ├── min_nso_linear.cpp │ │ ├── min_nso_linear.hpp │ │ ├── min_nso_linear.xrst │ │ ├── min_nso_quad.cpp │ │ ├── min_nso_quad.hpp │ │ ├── min_nso_quad.xrst │ │ ├── qp_box.cpp │ │ ├── qp_box.hpp │ │ ├── qp_box.xrst │ │ ├── qp_interior.cpp │ │ ├── qp_interior.hpp │ │ ├── qp_interior.xrst │ │ ├── simplex_method.cpp │ │ ├── simplex_method.hpp │ │ ├── simplex_method.xrst │ │ └── talk.tex │ ├── atomic_four/ │ │ ├── CMakeLists.txt │ │ ├── atomic_four.cpp │ │ ├── atomic_four.xrst │ │ ├── bilinear.cpp │ │ ├── dynamic.cpp │ │ ├── forward.cpp │ │ ├── get_started.cpp │ │ ├── lin_ode/ │ │ │ ├── CMakeLists.txt │ │ │ ├── forward.cpp │ │ │ ├── lin_ode.cpp │ │ │ ├── rev_depend.cpp │ │ │ ├── reverse.cpp │ │ │ └── sparsity.cpp │ │ ├── mat_mul/ │ │ │ ├── CMakeLists.txt │ │ │ ├── forward.cpp │ │ │ ├── identical_zero.cpp │ │ │ ├── mat_mul.cpp │ │ │ ├── rev_depend.cpp │ │ │ ├── reverse.cpp │ │ │ └── sparsity.cpp │ │ ├── norm_sq.cpp │ │ └── vector/ │ │ ├── CMakeLists.txt │ │ ├── add.cpp │ │ ├── div.cpp │ │ ├── hes_sparsity.cpp │ │ ├── jac_sparsity.cpp │ │ ├── mul.cpp │ │ ├── neg.cpp │ │ ├── rev_depend.cpp │ │ ├── sub.cpp │ │ └── vector.cpp │ ├── atomic_three/ │ │ ├── CMakeLists.txt │ │ ├── atomic_three.cpp │ │ ├── atomic_three.xrst │ │ ├── base2ad.cpp │ │ ├── dynamic.cpp │ │ ├── forward.cpp │ │ ├── get_started.cpp │ │ ├── hes_sparsity.cpp │ │ ├── jac_sparsity.cpp │ │ ├── mat_mul.cpp │ │ ├── norm_sq.cpp │ │ ├── reciprocal.cpp │ │ ├── rev_depend.cpp │ │ ├── reverse.cpp │ │ └── tangent.cpp │ ├── atomic_two/ │ │ ├── CMakeLists.txt │ │ ├── atomic_two.cpp │ │ ├── eigen_cholesky.cpp │ │ ├── eigen_mat_inv.cpp │ │ └── eigen_mat_mul.cpp │ ├── chkpoint_two/ │ │ ├── CMakeLists.txt │ │ ├── base2ad.cpp │ │ ├── chkpoint_two.cpp │ │ ├── compare.cpp │ │ ├── dynamic.cpp │ │ ├── get_started.cpp │ │ └── ode.cpp │ ├── compare_change/ │ │ ├── CMakeLists.txt │ │ └── compare_change.cpp │ ├── cppad_code_gen/ │ │ ├── CMakeLists.txt │ │ ├── cppad_code_gen.cpp │ │ ├── file.cpp │ │ ├── function.cpp │ │ ├── jac_as_fun.cpp │ │ ├── jacobian.cpp │ │ ├── sparse_jac_as_fun.cpp │ │ └── sparse_jacobian.cpp │ ├── general/ │ │ ├── CMakeLists.txt │ │ ├── abort_recording.cpp │ │ ├── acos.cpp │ │ ├── acosh.cpp │ │ ├── ad_assign.cpp │ │ ├── ad_ctor.cpp │ │ ├── ad_fun.cpp │ │ ├── ad_in_c.cpp │ │ ├── ad_input.cpp │ │ ├── ad_output.cpp │ │ ├── add.cpp │ │ ├── add_eq.cpp │ │ ├── asin.cpp │ │ ├── asinh.cpp │ │ ├── atan.cpp │ │ ├── atan2.cpp │ │ ├── atanh.cpp │ │ ├── azmul.cpp │ │ ├── base2ad.cpp │ │ ├── base2vec_ad.cpp │ │ ├── base_alloc.hpp │ │ ├── base_require.cpp │ │ ├── bender_quad.cpp │ │ ├── bool_fun.cpp │ │ ├── capacity_order.cpp │ │ ├── change_param.cpp │ │ ├── check_for_nan.cpp │ │ ├── compare.cpp │ │ ├── complex_poly.cpp │ │ ├── con_dyn_var.cpp │ │ ├── cond_exp.cpp │ │ ├── cos.cpp │ │ ├── cosh.cpp │ │ ├── div.cpp │ │ ├── div_eq.cpp │ │ ├── eigen_array.cpp │ │ ├── eigen_det.cpp │ │ ├── equal_op_seq.cpp │ │ ├── erf.cpp │ │ ├── erfc.cpp │ │ ├── exp.cpp │ │ ├── expm1.cpp │ │ ├── fabs.cpp │ │ ├── for_one.cpp │ │ ├── for_two.cpp │ │ ├── forward.cpp │ │ ├── forward_dir.cpp │ │ ├── forward_order.cpp │ │ ├── fun_assign.cpp │ │ ├── fun_check.cpp │ │ ├── fun_property.cpp │ │ ├── function_name.cpp │ │ ├── general.cpp │ │ ├── hes_lagrangian.cpp │ │ ├── hes_lu_det.cpp │ │ ├── hes_minor_det.cpp │ │ ├── hes_times_dir.cpp │ │ ├── hessian.cpp │ │ ├── independent.cpp │ │ ├── integer.cpp │ │ ├── interface2c.cpp │ │ ├── interp_onetape.cpp │ │ ├── interp_retape.cpp │ │ ├── jac_lu_det.cpp │ │ ├── jac_minor_det.cpp │ │ ├── jacobian.cpp │ │ ├── log.cpp │ │ ├── log10.cpp │ │ ├── log1p.cpp │ │ ├── lu_ratio.cpp │ │ ├── lu_vec_ad.cpp │ │ ├── lu_vec_ad.hpp │ │ ├── lu_vec_ad_ok.cpp │ │ ├── mul.cpp │ │ ├── mul_eq.cpp │ │ ├── mul_level.cpp │ │ ├── mul_level_adolc.cpp │ │ ├── mul_level_adolc_ode.cpp │ │ ├── mul_level_ode.cpp │ │ ├── near_equal_ext.cpp │ │ ├── new_dynamic.cpp │ │ ├── num_limits.cpp │ │ ├── number_skip.cpp │ │ ├── numeric_type.cpp │ │ ├── ode_stiff.cpp │ │ ├── opt_val_hes.cpp │ │ ├── pow.cpp │ │ ├── pow_nan.cpp │ │ ├── print_for.cpp │ │ ├── rev_checkpoint.cpp │ │ ├── rev_one.cpp │ │ ├── rev_two.cpp │ │ ├── reverse_one.cpp │ │ ├── reverse_three.cpp │ │ ├── reverse_two.cpp │ │ ├── sign.cpp │ │ ├── sin.cpp │ │ ├── sinh.cpp │ │ ├── sqrt.cpp │ │ ├── stack_machine.cpp │ │ ├── sub.cpp │ │ ├── sub_eq.cpp │ │ ├── tan.cpp │ │ ├── tanh.cpp │ │ ├── tape_index.cpp │ │ ├── taylor_ode.cpp │ │ ├── unary_minus.cpp │ │ ├── unary_plus.cpp │ │ ├── value.cpp │ │ ├── var2par.cpp │ │ └── vec_ad.cpp │ ├── get_started/ │ │ ├── CMakeLists.txt │ │ └── get_started.cpp │ ├── graph/ │ │ ├── CMakeLists.txt │ │ ├── add_op.cpp │ │ ├── atom4_op.cpp │ │ ├── atom_op.cpp │ │ ├── azmul_op.cpp │ │ ├── cexp_op.cpp │ │ ├── comp_op.cpp │ │ ├── discrete_op.cpp │ │ ├── div_op.cpp │ │ ├── graph.cpp │ │ ├── mul_op.cpp │ │ ├── pow_op.cpp │ │ ├── print_graph.cpp │ │ ├── print_op.cpp │ │ ├── sub_op.cpp │ │ ├── sum_op.cpp │ │ ├── switch_var_dyn.cpp │ │ └── unary_op.cpp │ ├── ipopt_solve/ │ │ ├── CMakeLists.txt │ │ ├── get_started.cpp │ │ ├── ipopt_solve.cpp │ │ ├── ode_inverse.cpp │ │ ├── retape.cpp │ │ └── test.sh.in │ ├── jit/ │ │ ├── CMakeLists.txt │ │ ├── atomic.cpp │ │ ├── compare_change.cpp │ │ ├── compile.cpp │ │ ├── dynamic.cpp │ │ ├── get_started.cpp │ │ ├── jit.cpp │ │ └── jit.xrst │ ├── json/ │ │ ├── CMakeLists.txt │ │ ├── add_op.cpp │ │ ├── atom4_op.cpp │ │ ├── atom_op.cpp │ │ ├── azmul_op.cpp │ │ ├── cexp_op.cpp │ │ ├── comp_op.cpp │ │ ├── discrete_op.cpp │ │ ├── div_op.cpp │ │ ├── from_json.cpp │ │ ├── get_started.cpp │ │ ├── json.cpp │ │ ├── mul_op.cpp │ │ ├── pow_op.cpp │ │ ├── print_op.cpp │ │ ├── sparse.cpp │ │ ├── sub_op.cpp │ │ ├── sum_op.cpp │ │ ├── to_json.cpp │ │ └── unary_op.cpp │ ├── multi_thread/ │ │ ├── CMakeLists.txt │ │ ├── bthread/ │ │ │ ├── CMakeLists.txt │ │ │ ├── a11c_bthread.cpp │ │ │ ├── get_started.cpp │ │ │ └── team_bthread.cpp │ │ ├── harmonic.cpp │ │ ├── harmonic.hpp │ │ ├── harmonic.xrst │ │ ├── multi_atomic_three.cpp │ │ ├── multi_atomic_three.hpp │ │ ├── multi_atomic_three.xrst │ │ ├── multi_atomic_two.cpp │ │ ├── multi_atomic_two.hpp │ │ ├── multi_atomic_two.xrst │ │ ├── multi_chkpoint_one.cpp │ │ ├── multi_chkpoint_one.hpp │ │ ├── multi_chkpoint_one.xrst │ │ ├── multi_chkpoint_two.cpp │ │ ├── multi_chkpoint_two.hpp │ │ ├── multi_chkpoint_two.xrst │ │ ├── multi_newton.cpp │ │ ├── multi_newton.hpp │ │ ├── multi_newton.xrst │ │ ├── openmp/ │ │ │ ├── CMakeLists.txt │ │ │ ├── a11c_openmp.cpp │ │ │ ├── get_started.cpp │ │ │ └── team_openmp.cpp │ │ ├── pthread/ │ │ │ ├── CMakeLists.txt │ │ │ ├── a11c_pthread.cpp │ │ │ ├── get_started.cpp │ │ │ └── team_pthread.cpp │ │ ├── sthread/ │ │ │ ├── CMakeLists.txt │ │ │ ├── a11c_sthread.cpp │ │ │ ├── get_started.cpp │ │ │ └── team_sthread.cpp │ │ ├── team_example.cpp │ │ ├── team_example.hpp │ │ ├── team_thread.hpp │ │ ├── template/ │ │ │ └── get_started.xrst │ │ └── thread_test.cpp │ ├── optimize/ │ │ ├── CMakeLists.txt │ │ ├── compare_op.cpp │ │ ├── conditional_skip.cpp │ │ ├── cumulative_sum.cpp │ │ ├── forward_active.cpp │ │ ├── nest_conditional.cpp │ │ ├── optimize.cpp │ │ ├── optimize_twice.cpp │ │ ├── print_for.cpp │ │ └── reverse_active.cpp │ ├── print_for/ │ │ ├── CMakeLists.txt │ │ ├── print_for.cpp │ │ └── test.sh │ ├── sparse/ │ │ ├── CMakeLists.txt │ │ ├── colpack_hes.cpp │ │ ├── colpack_hessian.cpp │ │ ├── colpack_jac.cpp │ │ ├── colpack_jacobian.cpp │ │ ├── conj_grad.cpp │ │ ├── dependency.cpp │ │ ├── for_hes_sparsity.cpp │ │ ├── for_jac_sparsity.cpp │ │ ├── for_sparse_hes.cpp │ │ ├── for_sparse_jac.cpp │ │ ├── rc_sparsity.cpp │ │ ├── rev_hes_sparsity.cpp │ │ ├── rev_jac_sparsity.cpp │ │ ├── rev_sparse_hes.cpp │ │ ├── rev_sparse_jac.cpp │ │ ├── sparse.cpp │ │ ├── sparse2eigen.cpp │ │ ├── sparse_hes.cpp │ │ ├── sparse_hessian.cpp │ │ ├── sparse_jac_for.cpp │ │ ├── sparse_jac_rev.cpp │ │ ├── sparse_jacobian.cpp │ │ ├── sparse_sub_hes.cpp │ │ ├── sparsity_sub.cpp │ │ ├── sub_sparse_hes.cpp │ │ ├── subgraph_hes2jac.cpp │ │ ├── subgraph_jac_rev.cpp │ │ ├── subgraph_reverse.cpp │ │ └── subgraph_sparsity.cpp │ ├── utility/ │ │ ├── CMakeLists.txt │ │ ├── check_numeric_type.cpp │ │ ├── check_simple_vector.cpp │ │ ├── cppad_vector.cpp │ │ ├── dll_lib.cpp │ │ ├── error_handler.cpp │ │ ├── index_sort.cpp │ │ ├── lu_factor.cpp │ │ ├── lu_invert.cpp │ │ ├── lu_solve.cpp │ │ ├── nan.cpp │ │ ├── near_equal.cpp │ │ ├── ode_err_control.cpp │ │ ├── ode_err_maxabs.cpp │ │ ├── ode_gear.cpp │ │ ├── ode_gear_control.cpp │ │ ├── poly.cpp │ │ ├── pow_int.cpp │ │ ├── romberg_mul.cpp │ │ ├── romberg_one.cpp │ │ ├── rosen_34.cpp │ │ ├── runge45_1.cpp │ │ ├── runge_45.cpp │ │ ├── set_union.cpp │ │ ├── simple_vector.cpp │ │ ├── sparse_rc.cpp │ │ ├── sparse_rcv.cpp │ │ ├── thread_alloc.cpp │ │ ├── to_string.cpp │ │ ├── utility.cpp │ │ └── vector_bool.cpp │ └── valvector/ │ ├── CMakeLists.txt │ ├── ad_join.cpp │ ├── ad_split.cpp │ ├── ad_sum.cpp │ ├── assign.cpp │ ├── azmul.cpp │ ├── base_require.cpp │ ├── binary_op.cpp │ ├── compare_op.cpp │ ├── compound_op.cpp │ ├── condexp.cpp │ ├── ctor.cpp │ ├── element.cpp │ ├── get_started.cpp │ ├── llsq_obj.cpp │ ├── output.cpp │ ├── pow.cpp │ ├── resize.cpp │ ├── size.cpp │ ├── sum.cpp │ ├── unary_math.cpp │ ├── unary_op.cpp │ └── valvector.cpp ├── include/ │ └── cppad/ │ ├── CMakeLists.txt │ ├── base_require.hpp │ ├── configure.hpp.in │ ├── core/ │ │ ├── abort_recording.hpp │ │ ├── abs.hpp │ │ ├── abs_normal_fun.hpp │ │ ├── ad.hpp │ │ ├── ad_assign.hpp │ │ ├── ad_binary.hpp │ │ ├── ad_ctor.hpp │ │ ├── ad_fun.hpp │ │ ├── ad_fun.xrst │ │ ├── ad_io.hpp │ │ ├── ad_to_string.hpp │ │ ├── ad_type.hpp │ │ ├── ad_valued.hpp │ │ ├── add.hpp │ │ ├── add_eq.hpp │ │ ├── arithmetic.hpp │ │ ├── atan2.hpp │ │ ├── atomic/ │ │ │ ├── atomic.xrst │ │ │ ├── four/ │ │ │ │ ├── atomic.hpp │ │ │ │ ├── atomic.xrst │ │ │ │ ├── call.hpp │ │ │ │ ├── ctor.hpp │ │ │ │ ├── devel/ │ │ │ │ │ ├── devel.xrst │ │ │ │ │ ├── hes_sparsity.hpp │ │ │ │ │ └── jac_sparsity.hpp │ │ │ │ ├── for_type.hpp │ │ │ │ ├── forward.hpp │ │ │ │ ├── hes_sparsity.hpp │ │ │ │ ├── jac_sparsity.hpp │ │ │ │ ├── rev_depend.hpp │ │ │ │ └── reverse.hpp │ │ │ ├── one/ │ │ │ │ └── atomic.hpp │ │ │ ├── three/ │ │ │ │ ├── afun.hpp │ │ │ │ ├── atomic.hpp │ │ │ │ ├── atomic.xrst │ │ │ │ ├── ctor.hpp │ │ │ │ ├── for_type.hpp │ │ │ │ ├── forward.hpp │ │ │ │ ├── hes_sparsity.hpp │ │ │ │ ├── jac_sparsity.hpp │ │ │ │ ├── rev_depend.hpp │ │ │ │ └── reverse.hpp │ │ │ └── two/ │ │ │ ├── afun.hpp │ │ │ ├── atomic.hpp │ │ │ ├── clear.hpp │ │ │ ├── ctor.hpp │ │ │ ├── for_sparse_hes.hpp │ │ │ ├── for_sparse_jac.hpp │ │ │ ├── forward.hpp │ │ │ ├── option.hpp │ │ │ ├── rev_depend.hpp │ │ │ ├── rev_sparse_hes.hpp │ │ │ ├── rev_sparse_jac.hpp │ │ │ └── reverse.hpp │ │ ├── azmul.hpp │ │ ├── base2ad.hpp │ │ ├── base_complex.hpp │ │ ├── base_cond_exp.hpp │ │ ├── base_double.hpp │ │ ├── base_float.hpp │ │ ├── base_hash.hpp │ │ ├── base_limits.hpp │ │ ├── base_std_math.hpp │ │ ├── base_to_string.hpp │ │ ├── bender_quad.hpp │ │ ├── bool_fun.hpp │ │ ├── bool_valued.hpp │ │ ├── capacity_order.hpp │ │ ├── check_for_nan.hpp │ │ ├── chkpoint_one/ │ │ │ ├── chkpoint_one.hpp │ │ │ ├── ctor.hpp │ │ │ ├── for_sparse_jac.hpp │ │ │ ├── forward.hpp │ │ │ ├── rev_sparse_hes.hpp │ │ │ ├── rev_sparse_jac.hpp │ │ │ ├── reverse.hpp │ │ │ ├── set_hes_sparse_bool.hpp │ │ │ ├── set_hes_sparse_set.hpp │ │ │ ├── set_jac_sparse_bool.hpp │ │ │ └── set_jac_sparse_set.hpp │ │ ├── chkpoint_two/ │ │ │ ├── chk_fun.xrst │ │ │ ├── chkpoint_two.hpp │ │ │ ├── ctor.hpp │ │ │ ├── dynamic.hpp │ │ │ ├── for_type.hpp │ │ │ ├── forward.hpp │ │ │ ├── hes_sparsity.hpp │ │ │ ├── jac_sparsity.hpp │ │ │ ├── rev_depend.hpp │ │ │ └── reverse.hpp │ │ ├── compare.hpp │ │ ├── compound_assign.hpp │ │ ├── con_dyn_var.hpp │ │ ├── cond_exp.hpp │ │ ├── convert.hpp │ │ ├── cppad_assert.hpp │ │ ├── dependent.hpp │ │ ├── discrete/ │ │ │ ├── devel.xrst │ │ │ ├── discrete.hpp │ │ │ └── user.xrst │ │ ├── div.hpp │ │ ├── div_eq.hpp │ │ ├── drivers.hpp │ │ ├── epsilon.hpp │ │ ├── equal_op_seq.hpp │ │ ├── for_hes_sparsity.hpp │ │ ├── for_jac_sparsity.hpp │ │ ├── for_one.hpp │ │ ├── for_sparse_hes.hpp │ │ ├── for_sparse_jac.hpp │ │ ├── for_two.hpp │ │ ├── forward/ │ │ │ ├── compare_change.xrst │ │ │ ├── devel.xrst │ │ │ ├── forward.hpp │ │ │ ├── forward_dir.xrst │ │ │ ├── forward_one.xrst │ │ │ ├── forward_order.xrst │ │ │ ├── forward_two.xrst │ │ │ ├── forward_zero.xrst │ │ │ └── size_order.xrst │ │ ├── fun_check.hpp │ │ ├── fun_construct.hpp │ │ ├── fun_eval.hpp │ │ ├── fun_property.xrst │ │ ├── function_name.xrst │ │ ├── graph/ │ │ │ ├── cpp_ad_graph.xrst │ │ │ ├── cpp_graph.hpp │ │ │ ├── cpp_graph.xrst │ │ │ ├── from_graph.hpp │ │ │ ├── from_json.hpp │ │ │ ├── graph_op_enum.hpp │ │ │ ├── json_ad_graph.xrst │ │ │ ├── json_graph_op.xrst │ │ │ ├── to_graph.hpp │ │ │ └── to_json.hpp │ │ ├── hash_code.hpp │ │ ├── hessian.hpp │ │ ├── identical.hpp │ │ ├── independent/ │ │ │ ├── devel.xrst │ │ │ ├── independent.hpp │ │ │ └── user.xrst │ │ ├── integer.hpp │ │ ├── jacobian.hpp │ │ ├── lu_ratio.hpp │ │ ├── mul.hpp │ │ ├── mul_eq.hpp │ │ ├── near_equal_ext.hpp │ │ ├── new_dynamic.hpp │ │ ├── num_skip.hpp │ │ ├── numeric_limits.hpp │ │ ├── omp_max_thread.hpp │ │ ├── opt_val_hes.hpp │ │ ├── optimize.hpp │ │ ├── ordered.hpp │ │ ├── parallel_ad.hpp │ │ ├── pow.hpp │ │ ├── print_for.hpp │ │ ├── rev_hes_sparsity.hpp │ │ ├── rev_jac_sparsity.hpp │ │ ├── rev_one.hpp │ │ ├── rev_sparse_hes.hpp │ │ ├── rev_sparse_jac.hpp │ │ ├── rev_two.hpp │ │ ├── reverse.hpp │ │ ├── sign.hpp │ │ ├── sparse.hpp │ │ ├── sparse_hes.hpp │ │ ├── sparse_hessian.hpp │ │ ├── sparse_jac.hpp │ │ ├── sparse_jacobian.hpp │ │ ├── standard_math.hpp │ │ ├── std_math_11.hpp │ │ ├── sub.hpp │ │ ├── sub_eq.hpp │ │ ├── subgraph_jac_rev.hpp │ │ ├── subgraph_reverse.hpp │ │ ├── subgraph_sparsity.hpp │ │ ├── tape_link.hpp │ │ ├── testvector.hpp │ │ ├── to_csrc.hpp │ │ ├── unary_minus.hpp │ │ ├── unary_plus.hpp │ │ ├── undef.hpp │ │ ├── user_ad.hpp │ │ ├── value.hpp │ │ ├── var2par.hpp │ │ ├── vec_ad/ │ │ │ ├── user.xrst │ │ │ └── vec_ad.hpp │ │ └── zdouble.hpp │ ├── cppad.hpp │ ├── example/ │ │ ├── atomic_four/ │ │ │ ├── lin_ode/ │ │ │ │ ├── base_solver.hpp │ │ │ │ ├── for_type.hpp │ │ │ │ ├── forward.hpp │ │ │ │ ├── get.hpp │ │ │ │ ├── hes_sparsity.hpp │ │ │ │ ├── implement.xrst │ │ │ │ ├── jac_sparsity.hpp │ │ │ │ ├── lin_ode.hpp │ │ │ │ ├── lin_ode.xrst │ │ │ │ ├── rev_depend.hpp │ │ │ │ ├── reverse.hpp │ │ │ │ ├── reverse_2.xrst │ │ │ │ └── set.hpp │ │ │ ├── mat_mul/ │ │ │ │ ├── base_mat_mul.hpp │ │ │ │ ├── for_type.hpp │ │ │ │ ├── forward.hpp │ │ │ │ ├── get.hpp │ │ │ │ ├── hes_sparsity.hpp │ │ │ │ ├── implement.xrst │ │ │ │ ├── jac_sparsity.hpp │ │ │ │ ├── mat_mul.hpp │ │ │ │ ├── mat_mul.xrst │ │ │ │ ├── rev_depend.hpp │ │ │ │ ├── reverse.hpp │ │ │ │ └── set.hpp │ │ │ └── vector/ │ │ │ ├── add_op.hpp │ │ │ ├── div_op.hpp │ │ │ ├── for_type.hpp │ │ │ ├── forward_op.hpp │ │ │ ├── hes_sparsity.hpp │ │ │ ├── implement.xrst │ │ │ ├── jac_sparsity.hpp │ │ │ ├── mul_op.hpp │ │ │ ├── neg_op.hpp │ │ │ ├── rev_depend.hpp │ │ │ ├── reverse_op.hpp │ │ │ ├── sub_op.hpp │ │ │ ├── vector.hpp │ │ │ └── vector.xrst │ │ ├── atomic_three/ │ │ │ └── mat_mul.hpp │ │ ├── atomic_two/ │ │ │ ├── eigen_cholesky.hpp │ │ │ ├── eigen_mat_inv.hpp │ │ │ └── eigen_mat_mul.hpp │ │ ├── base_adolc.hpp │ │ ├── code_gen_fun.hpp │ │ ├── cppad_eigen.hpp │ │ ├── eigen_plugin.hpp │ │ └── valvector/ │ │ ├── class.hpp │ │ ├── split_join.hpp │ │ └── sum.hpp │ ├── ipopt/ │ │ ├── solve.hpp │ │ ├── solve_callback.hpp │ │ └── solve_result.hpp │ ├── local/ │ │ ├── ad_tape.hpp │ │ ├── atom_state.hpp │ │ ├── atomic_index.hpp │ │ ├── color_general.hpp │ │ ├── color_symmetric.hpp │ │ ├── cppad_colpack.hpp │ │ ├── declare_ad.hpp │ │ ├── define.hpp │ │ ├── graph/ │ │ │ ├── cpp_graph_itr.hpp │ │ │ ├── cpp_graph_itr.xrst │ │ │ ├── cpp_graph_op.hpp │ │ │ ├── csrc_writer.hpp │ │ │ ├── json_lexer.hpp │ │ │ ├── json_lexer.xrst │ │ │ ├── json_parser.hpp │ │ │ └── json_writer.hpp │ │ ├── hash_code.hpp │ │ ├── independent.hpp │ │ ├── is_pod.hpp │ │ ├── is_pod.hpp.in │ │ ├── op_code_dyn.hpp │ │ ├── op_code_var.hpp │ │ ├── optimize/ │ │ │ ├── cexp_info.hpp │ │ │ ├── csum_op_info.hpp │ │ │ ├── csum_stacks.hpp │ │ │ ├── extract_option.hpp │ │ │ ├── get_cexp_info.hpp │ │ │ ├── get_dyn_previous.hpp │ │ │ ├── get_op_previous.hpp │ │ │ ├── get_op_usage.hpp │ │ │ ├── get_par_usage.hpp │ │ │ ├── hash_code.hpp │ │ │ ├── match_op.hpp │ │ │ ├── optimize_run.hpp │ │ │ ├── record_csum.hpp │ │ │ ├── record_pv.hpp │ │ │ ├── record_vp.hpp │ │ │ ├── record_vv.hpp │ │ │ ├── size_pair.hpp │ │ │ └── usage.hpp │ │ ├── play/ │ │ │ ├── addr_enum.hpp │ │ │ ├── atom_op_info.hpp │ │ │ ├── dyn_player.hpp │ │ │ ├── player.hpp │ │ │ ├── random_iterator.hpp │ │ │ ├── random_setup.hpp │ │ │ ├── sequential_iterator.hpp │ │ │ └── subgraph_iterator.hpp │ │ ├── pod_vector.hpp │ │ ├── record/ │ │ │ ├── comp_op.hpp │ │ │ ├── cond_exp.hpp │ │ │ ├── dyn_recorder.hpp │ │ │ ├── put_dyn_atomic.hpp │ │ │ ├── put_var_atomic.hpp │ │ │ ├── put_var_vecad.hpp │ │ │ └── recorder.hpp │ │ ├── set_get_in_parallel.hpp │ │ ├── sparse/ │ │ │ ├── dev_sparse.xrst │ │ │ ├── internal.hpp │ │ │ ├── list_setvec.hpp │ │ │ ├── pack_setvec.hpp │ │ │ ├── pack_setvec.xrst │ │ │ ├── setvector.xrst │ │ │ ├── size_setvec.hpp │ │ │ └── svec_setvec.hpp │ │ ├── std_set.hpp │ │ ├── subgraph/ │ │ │ ├── arg_variable.hpp │ │ │ ├── entire_call.hpp │ │ │ ├── get_rev.hpp │ │ │ ├── info.hpp │ │ │ ├── init_rev.hpp │ │ │ └── sparsity.hpp │ │ ├── sweep/ │ │ │ ├── call_atomic.hpp │ │ │ ├── dev_sweep.xrst │ │ │ ├── dynamic.hpp │ │ │ ├── for_hes.hpp │ │ │ ├── for_jac.hpp │ │ │ ├── forward_0.hpp │ │ │ ├── forward_any.hpp │ │ │ ├── forward_dir.hpp │ │ │ ├── rev_hes.hpp │ │ │ ├── rev_jac.hpp │ │ │ ├── reverse.hpp │ │ │ └── template/ │ │ │ └── forward_sweep.xrst │ │ ├── temp_file.hpp │ │ ├── utility/ │ │ │ ├── cppad_vector_itr.hpp │ │ │ └── vector_bool.hpp │ │ ├── val_graph/ │ │ │ ├── base_op.hpp │ │ │ ├── binary_op.hpp │ │ │ ├── call_atomic.hpp │ │ │ ├── call_op.hpp │ │ │ ├── cexp_op.hpp │ │ │ ├── comp_op.hpp │ │ │ ├── compress.hpp │ │ │ ├── con_op.hpp │ │ │ ├── csum_op.hpp │ │ │ ├── cumulative.hpp │ │ │ ├── dead_code.hpp │ │ │ ├── dis_op.hpp │ │ │ ├── dyn_type.hpp │ │ │ ├── enable_parallel.hpp │ │ │ ├── fold_con.hpp │ │ │ ├── fun2val.hpp │ │ │ ├── op2arg_index.hpp │ │ │ ├── op_enum2class.hpp │ │ │ ├── op_hash_table.hpp │ │ │ ├── op_iterator.hpp │ │ │ ├── option.hpp │ │ │ ├── pri_op.hpp │ │ │ ├── print_op.hpp │ │ │ ├── record.hpp │ │ │ ├── record_new.hpp │ │ │ ├── renumber.hpp │ │ │ ├── rev_depend.hpp │ │ │ ├── summation.hpp │ │ │ ├── tape.hpp │ │ │ ├── unary_op.hpp │ │ │ ├── val2fun.hpp │ │ │ ├── val_graph.xrst │ │ │ ├── val_optimize.hpp │ │ │ ├── val_type.hpp │ │ │ ├── var_type.hpp │ │ │ └── vector_op.hpp │ │ └── var_op/ │ │ ├── abs_op.hpp │ │ ├── acos_op.hpp │ │ ├── acosh_op.hpp │ │ ├── add_op.hpp │ │ ├── asin_op.hpp │ │ ├── asinh_op.hpp │ │ ├── atan_op.hpp │ │ ├── atanh_op.hpp │ │ ├── atomic_op.hpp │ │ ├── binary_op.xrst │ │ ├── cexp_op.hpp │ │ ├── compare_op.hpp │ │ ├── cos_op.hpp │ │ ├── cosh_op.hpp │ │ ├── cskip_op.hpp │ │ ├── csum_op.hpp │ │ ├── dis_op.hpp │ │ ├── div_op.hpp │ │ ├── erf_op.hpp │ │ ├── exp_op.hpp │ │ ├── expm1_op.hpp │ │ ├── load_op.hpp │ │ ├── log1p_op.hpp │ │ ├── log_op.hpp │ │ ├── mul_op.hpp │ │ ├── neg_op.hpp │ │ ├── one_var.hpp │ │ ├── par_op.hpp │ │ ├── pow_op.hpp │ │ ├── pri_op.hpp │ │ ├── prototype_op.hpp │ │ ├── sign_op.hpp │ │ ├── sin_op.hpp │ │ ├── sinh_op.hpp │ │ ├── sqrt_op.hpp │ │ ├── store_op.hpp │ │ ├── sub_op.hpp │ │ ├── tan_op.hpp │ │ ├── tanh_op.hpp │ │ ├── template/ │ │ │ ├── atomic_op.xrst │ │ │ ├── forward_dir.xrst │ │ │ ├── forward_op.xrst │ │ │ └── reverse_op.xrst │ │ ├── two_var.hpp │ │ ├── unary_op.xrst │ │ ├── var_op.hpp │ │ └── zmul_op.hpp │ ├── speed/ │ │ ├── det_33.hpp │ │ ├── det_by_lu.hpp │ │ ├── det_by_minor.hpp │ │ ├── det_grad_33.hpp │ │ ├── det_of_minor.hpp │ │ ├── mat_sum_sq.hpp │ │ ├── ode_evaluate.hpp │ │ ├── sparse_hes_fun.hpp │ │ ├── sparse_jac_fun.hpp │ │ └── uniform_01.hpp │ ├── utility/ │ │ ├── check_numeric_type.hpp │ │ ├── check_simple_vector.hpp │ │ ├── create_dll_lib.hpp │ │ ├── elapsed_seconds.hpp │ │ ├── error_handler.hpp │ │ ├── index_sort.hpp │ │ ├── link_dll_lib.hpp │ │ ├── lu_factor.hpp │ │ ├── lu_invert.hpp │ │ ├── lu_solve.hpp │ │ ├── memory_leak.hpp │ │ ├── nan.hpp │ │ ├── near_equal.hpp │ │ ├── ode_err_control.hpp │ │ ├── ode_gear.hpp │ │ ├── ode_gear_control.hpp │ │ ├── omp_alloc.hpp │ │ ├── poly.hpp │ │ ├── pow_int.hpp │ │ ├── romberg_mul.hpp │ │ ├── romberg_one.hpp │ │ ├── rosen_34.hpp │ │ ├── runge_45.hpp │ │ ├── set_union.hpp │ │ ├── sparse2eigen.hpp │ │ ├── sparse_rc.hpp │ │ ├── sparse_rcv.hpp │ │ ├── speed_test.hpp │ │ ├── test_boolofvoid.hpp │ │ ├── thread_alloc.hpp │ │ ├── time_test.hpp │ │ ├── to_string.hpp │ │ ├── track_new_del.hpp │ │ ├── vector.hpp │ │ ├── vector_bool.hpp │ │ └── xrst/ │ │ ├── cppad_vector.xrst │ │ ├── dev_cppad_vector.xrst │ │ ├── dev_utility.xrst │ │ ├── dev_vector_bool.xrst │ │ └── utility.xrst │ ├── utility.hpp │ └── wno_conversion.hpp ├── introduction/ │ ├── CMakeLists.txt │ ├── exp_2.cpp │ ├── exp_2.hpp │ ├── exp_2.xrst │ ├── exp_2_cppad.cpp │ ├── exp_2_for0.cpp │ ├── exp_2_for1.cpp │ ├── exp_2_for2.cpp │ ├── exp_2_rev1.cpp │ ├── exp_2_rev2.cpp │ ├── exp_eps.cpp │ ├── exp_eps.hpp │ ├── exp_eps.xrst │ ├── exp_eps_cppad.cpp │ ├── exp_eps_for0.cpp │ ├── exp_eps_for1.cpp │ ├── exp_eps_for2.cpp │ ├── exp_eps_rev1.cpp │ ├── exp_eps_rev2.cpp │ └── introduction.cpp ├── pkgconfig/ │ ├── CMakeLists.txt │ ├── cppad-uninstalled.pc.in │ └── cppad.pc.in ├── readme.md ├── speed/ │ ├── CMakeLists.txt │ ├── add_test.sh │ ├── adolc/ │ │ ├── CMakeLists.txt │ │ ├── adolc_alloc_mat.hpp │ │ ├── adolc_usrparms.sh │ │ ├── alloc_mat.cpp │ │ ├── det_lu.cpp │ │ ├── det_minor.cpp │ │ ├── mat_mul.cpp │ │ ├── ode.cpp │ │ ├── poly.cpp │ │ ├── sparse_hessian.cpp │ │ ├── sparse_jacobian.cpp │ │ └── speed_adolc.xrst │ ├── cppad/ │ │ ├── CMakeLists.txt │ │ ├── det_lu.cpp │ │ ├── det_minor.cpp │ │ ├── mat_mul.cpp │ │ ├── ode.cpp │ │ ├── poly.cpp │ │ ├── sparse_hessian.cpp │ │ ├── sparse_jacobian.cpp │ │ └── speed_cppad.xrst │ ├── cppad_jit/ │ │ ├── CMakeLists.txt │ │ ├── det_lu.cpp │ │ ├── det_minor.cpp │ │ ├── mat_mul.cpp │ │ ├── ode.cpp │ │ ├── poly.cpp │ │ ├── sparse_hessian.cpp │ │ ├── sparse_jacobian.cpp │ │ └── speed_cppad_jit.xrst │ ├── cppadcg/ │ │ ├── CMakeLists.txt │ │ ├── det_lu.cpp │ │ ├── det_minor.cpp │ │ ├── mat_mul.cpp │ │ ├── ode.cpp │ │ ├── poly.cpp │ │ ├── sparse_hessian.cpp │ │ ├── sparse_jacobian.cpp │ │ └── speed_cppadcg.xrst │ ├── dev_speed.xrst │ ├── double/ │ │ ├── CMakeLists.txt │ │ ├── det_lu.cpp │ │ ├── det_minor.cpp │ │ ├── mat_mul.cpp │ │ ├── ode.cpp │ │ ├── poly.cpp │ │ ├── sparse_hessian.cpp │ │ ├── sparse_jacobian.cpp │ │ └── speed_double.xrst │ ├── example/ │ │ ├── CMakeLists.txt │ │ ├── det_by_lu.cpp │ │ ├── det_by_minor.cpp │ │ ├── det_of_minor.cpp │ │ ├── elapsed_seconds.cpp │ │ ├── example.cpp │ │ ├── mat_sum_sq.cpp │ │ ├── ode_evaluate.cpp │ │ ├── sparse_hes_fun.cpp │ │ ├── sparse_jac_fun.cpp │ │ ├── speed_program.cpp │ │ ├── speed_test.cpp │ │ └── time_test.cpp │ ├── fadbad/ │ │ ├── CMakeLists.txt │ │ ├── det_lu.cpp │ │ ├── det_minor.cpp │ │ ├── mat_mul.cpp │ │ ├── ode.cpp │ │ ├── poly.cpp │ │ ├── sparse_hessian.cpp │ │ ├── sparse_jacobian.cpp │ │ └── speed_fadbad.xrst │ ├── main.cpp │ ├── profile/ │ │ ├── CMakeLists.txt │ │ └── gprof.sed.in │ ├── sacado/ │ │ ├── CMakeLists.txt │ │ ├── det_lu.cpp │ │ ├── det_minor.cpp │ │ ├── mat_mul.cpp │ │ ├── ode.cpp │ │ ├── poly.cpp │ │ ├── sparse_hessian.cpp │ │ ├── sparse_jacobian.cpp │ │ └── speed_sacado.xrst │ ├── speed.xrst │ ├── speed_utility.xrst │ ├── src/ │ │ ├── CMakeLists.txt │ │ ├── dev_link.xrst │ │ ├── dev_sparse_hessian.xrst │ │ ├── link.xrst │ │ ├── link_det_lu.cpp │ │ ├── link_det_minor.cpp │ │ ├── link_mat_mul.cpp │ │ ├── link_ode.cpp │ │ ├── link_poly.cpp │ │ ├── link_sparse_hessian.cpp │ │ ├── link_sparse_hessian.hpp │ │ ├── link_sparse_jacobian.cpp │ │ └── link_sparse_jacobian.hpp │ └── xpackage/ │ ├── CMakeLists.txt │ ├── det_lu.cpp │ ├── det_minor.cpp │ ├── mat_mul.cpp │ ├── ode.cpp │ ├── poly.cpp │ ├── sparse_hessian.cpp │ ├── sparse_jacobian.cpp │ └── speed_xpackage.xrst ├── test_more/ │ ├── CMakeLists.txt │ ├── compare_c/ │ │ ├── CMakeLists.txt │ │ ├── c/ │ │ │ └── CMakeLists.txt │ │ ├── cpp/ │ │ │ └── CMakeLists.txt │ │ └── det_by_minor.c │ ├── cppad_for_tmb/ │ │ ├── CMakeLists.txt │ │ ├── cppad_for_tmb.cpp │ │ ├── implicit_ctor.cpp │ │ ├── multi_atomic_three.cpp │ │ ├── multi_atomic_two.cpp │ │ ├── multi_chkpoint_one.cpp │ │ ├── multi_chkpoint_two.cpp │ │ └── prefer_reverse.cpp │ ├── debug_rel/ │ │ ├── CMakeLists.txt │ │ ├── debug.cpp │ │ ├── debug_rel.cpp │ │ └── release.cpp │ ├── deprecated/ │ │ ├── CMakeLists.txt │ │ ├── atomic_two/ │ │ │ ├── CMakeLists.txt │ │ │ ├── atomic_sparsity.cpp │ │ │ ├── atomic_two.cpp │ │ │ ├── base2ad.cpp │ │ │ ├── for_sparse_hes.cpp │ │ │ ├── for_sparse_jac.cpp │ │ │ ├── forward.cpp │ │ │ ├── get_started.cpp │ │ │ ├── mat_mul.cpp │ │ │ ├── mat_mul.hpp │ │ │ ├── norm_sq.cpp │ │ │ ├── reciprocal.cpp │ │ │ ├── rev_sparse_hes.cpp │ │ │ ├── rev_sparse_jac.cpp │ │ │ ├── reverse.cpp │ │ │ ├── set_sparsity.cpp │ │ │ └── tangent.cpp │ │ ├── chkpoint_one/ │ │ │ ├── CMakeLists.txt │ │ │ ├── chkpoint_one.cpp │ │ │ ├── extended_ode.cpp │ │ │ ├── get_started.cpp │ │ │ ├── mul_level.cpp │ │ │ └── ode.cpp │ │ ├── deprecated.cpp │ │ ├── old_mat_mul.cpp │ │ ├── old_mat_mul.hpp │ │ ├── old_reciprocal.cpp │ │ ├── old_tan.cpp │ │ ├── old_usead_1.cpp │ │ ├── old_usead_2.cpp │ │ ├── omp_alloc.cpp │ │ ├── track_new_del.cpp │ │ └── zdouble.cpp │ └── general/ │ ├── CMakeLists.txt │ ├── abs_normal.cpp │ ├── acos.cpp │ ├── acosh.cpp │ ├── add.cpp │ ├── add_eq.cpp │ ├── add_zero.cpp │ ├── adfun.cpp │ ├── alloc_openmp.cpp │ ├── asin.cpp │ ├── asinh.cpp │ ├── assign.cpp │ ├── atan.cpp │ ├── atan2.cpp │ ├── atanh.cpp │ ├── atomic_four.cpp │ ├── atomic_three.cpp │ ├── azmul.cpp │ ├── base2ad.cpp │ ├── base_adolc.cpp │ ├── base_alloc.cpp │ ├── base_complex.cpp │ ├── bool_sparsity.cpp │ ├── check_simple_vector.cpp │ ├── chkpoint_one.cpp │ ├── chkpoint_two.cpp │ ├── compare.cpp │ ├── compare_change.cpp │ ├── cond_exp.cpp │ ├── cond_exp_ad.cpp │ ├── cond_exp_rev.cpp │ ├── copy.cpp │ ├── cos.cpp │ ├── cosh.cpp │ ├── cpp_graph.cpp │ ├── cppad_eigen.cpp │ ├── cppad_vector.cpp │ ├── dbl_epsilon.cpp │ ├── dependency.cpp │ ├── div.cpp │ ├── div_eq.cpp │ ├── div_zero_one.cpp │ ├── eigen_mat_inv.cpp │ ├── erf.cpp │ ├── exp.cpp │ ├── expm1.cpp │ ├── extern_value.cpp │ ├── extern_value.hpp │ ├── fabs.cpp │ ├── for_hes_sparsity.cpp │ ├── for_hess.cpp │ ├── for_jac_sparsity.cpp │ ├── forward.cpp │ ├── forward_dir.cpp │ ├── forward_order.cpp │ ├── from_base.cpp │ ├── fun_check.cpp │ ├── general.cpp │ ├── hes_sparsity.cpp │ ├── ipopt_solve.cpp │ ├── jacobian.cpp │ ├── json_graph.cpp │ ├── local/ │ │ ├── is_pod.cpp │ │ ├── json_lexer.cpp │ │ ├── json_parser.cpp │ │ ├── temp_file.cpp │ │ └── vector_set.cpp │ ├── log.cpp │ ├── log10.cpp │ ├── log1p.cpp │ ├── mul.cpp │ ├── mul_cond_rev.cpp │ ├── mul_cskip.cpp │ ├── mul_eq.cpp │ ├── mul_level.cpp │ ├── mul_zdouble.cpp │ ├── mul_zero_one.cpp │ ├── near_equal_ext.cpp │ ├── neg.cpp │ ├── new_dynamic.cpp │ ├── num_limits.cpp │ ├── ode_err_control.cpp │ ├── optimize.cpp │ ├── parameter.cpp │ ├── poly.cpp │ ├── pow.cpp │ ├── pow_int.cpp │ ├── print_for.cpp │ ├── rev_sparse_jac.cpp │ ├── rev_two.cpp │ ├── reverse.cpp │ ├── romberg_one.cpp │ ├── rosen_34.cpp │ ├── runge_45.cpp │ ├── simple_vector.cpp │ ├── sin.cpp │ ├── sin_cos.cpp │ ├── sinh.cpp │ ├── sparse_hessian.cpp │ ├── sparse_jac_work.cpp │ ├── sparse_jacobian.cpp │ ├── sparse_sub_hes.cpp │ ├── sparse_vec_ad.cpp │ ├── sqrt.cpp │ ├── std_math.cpp │ ├── sub.cpp │ ├── sub_eq.cpp │ ├── sub_zero.cpp │ ├── subgraph_1.cpp │ ├── subgraph_2.cpp │ ├── subgraph_hes2jac.cpp │ ├── tan.cpp │ ├── to_csrc.cpp │ ├── to_string.cpp │ ├── value.cpp │ ├── vec_ad.cpp │ ├── vec_ad_par.cpp │ └── vec_unary.cpp ├── typos.toml ├── user_guide.xrst ├── uw_copy_040507.html ├── val_graph/ │ ├── CMakeLists.txt │ ├── atomic_xam.hpp │ ├── binary_xam.cpp │ ├── call_xam.cpp │ ├── cexp_xam.cpp │ ├── comp_xam.cpp │ ├── compress_xam.cpp │ ├── con_xam.cpp │ ├── csum_xam.cpp │ ├── cumulative_xam.cpp │ ├── dead_xam.cpp │ ├── dis_xam.cpp │ ├── fold_con_xam.cpp │ ├── fun2val_xam.cpp │ ├── pri_xam.cpp │ ├── renumber_xam.cpp │ ├── summation_xam.cpp │ ├── test/ │ │ ├── ad_double.cpp │ │ ├── fold.cpp │ │ ├── fun2val.cpp │ │ ├── nan.cpp │ │ ├── opt_call.cpp │ │ ├── optimize.cpp │ │ ├── val2fun.cpp │ │ └── val_optimize.cpp │ ├── unary_xam.cpp │ ├── val2fun_xam.cpp │ ├── val_graph.cpp │ └── vec_xam.cpp ├── xrst/ │ ├── base_require/ │ │ ├── base_example.xrst │ │ ├── base_identical.xrst │ │ ├── base_member.xrst │ │ └── base_ordered.xrst │ ├── det_33_hpp.xrst │ ├── det_by_lu_hpp.xrst │ ├── det_by_minor_hpp.xrst │ ├── det_grad_33_hpp.xrst │ ├── det_of_minor_hpp.xrst │ ├── devel/ │ │ ├── devel.xrst │ │ ├── dynamic.xrst │ │ └── whats_new/ │ │ └── 2024.xrst │ ├── example.xrst │ ├── example_list.xrst │ ├── install/ │ │ ├── adolc.xrst │ │ ├── cmake.xrst │ │ ├── cmake_check.xrst │ │ ├── colpack_prefix.xrst │ │ ├── cppadcg.xrst │ │ ├── download.xrst │ │ ├── eigen.xrst │ │ ├── fadbad_prefix.xrst │ │ ├── install.xrst │ │ ├── ipopt.xrst │ │ ├── sacado_prefix.xrst │ │ └── testvector.xrst │ ├── introduction.xrst │ ├── lu_det_and_solve.xrst │ ├── lu_factor_hpp.xrst │ ├── lu_invert_hpp.xrst │ ├── lu_solve_hpp.xrst │ ├── mat_sum_sq_hpp.xrst │ ├── mul_level.xrst │ ├── multi_thread.xrst │ ├── numeric_type.xrst │ ├── ode_evaluate.xrst │ ├── poly_hpp.xrst │ ├── preprocessor.xrst │ ├── reverse/ │ │ ├── reverse_any.xrst │ │ ├── reverse_one.xrst │ │ └── reverse_two.xrst │ ├── simple_vector.xrst │ ├── sparse_hes_fun.xrst │ ├── sparse_jac_fun.xrst │ ├── theory/ │ │ ├── acos_forward.xrst │ │ ├── acos_reverse.xrst │ │ ├── asin_forward.xrst │ │ ├── asin_reverse.xrst │ │ ├── atan_forward.xrst │ │ ├── atan_reverse.xrst │ │ ├── cholesky.xrst │ │ ├── erf_forward.xrst │ │ ├── erf_reverse.xrst │ │ ├── exp_forward.xrst │ │ ├── exp_reverse.xrst │ │ ├── forward_theory.xrst │ │ ├── log_forward.xrst │ │ ├── log_reverse.xrst │ │ ├── pow_forward.xrst │ │ ├── pow_reverse.xrst │ │ ├── research.xrst │ │ ├── reverse_identity.xrst │ │ ├── reverse_theory.xrst │ │ ├── sin_cos_forward.xrst │ │ ├── sin_cos_reverse.xrst │ │ ├── sqrt_forward.xrst │ │ ├── sqrt_reverse.xrst │ │ ├── tan_forward.xrst │ │ ├── tan_reverse.xrst │ │ ├── taylor_ode.xrst │ │ └── theory.xrst │ ├── thread_alloc.xrst │ └── uniform_01_hpp.xrst └── xrst.toml